.NET设计规范 约定、惯用法与模式 英文版PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(美)KrzysztofCwalina,BradAbrams著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2010
- ISBN:9787115214454
- 页数:443 页
Introduction 1 1
1 Qualities of a Well-Designed Framework 3 1
1.1 Well-Designed Frameworks Are Simple 3 1
1.2 Well-Designed Frameworks Are Expensive to Design 4 1
1.3 Well-Designed Frameworks Are Full of Trade-Offs 5 1
1.4 Well-Designed Frameworks Borrow from the Past 5 1
1.5 Well-Designed Frameworks Are Designed to Evolve 5 1
1.6 Well-Designed Frameworks Are Integrated 6 1
1.7 Well-Designed Frameworks Are Consistent 6 1
Framework Design Fundamentals 9 2
1 Progressive Frameworks 11 2
2 Fundamental Principles of Framework Design 14 2
2.1 The Principle of Scenario-Driven Design 15 2
2.2 The Principle of Low Barrier to Entry 21 2
2.3 The Principle of Self-Documenting Object Models 26 2
2.4 The Principle of Layered Architecture 33 2
Naming Guidelines 37 3
1 Capitalization Conventions 38 3
1.1 Capitalization Rules for Identifiers 38 3
1.2 Capitalizing Acronyms 40 3
1.3 Capitalizing Compound Words and Common Terms 43 3
1.4 Case Sensitivity 45 3
2 General Naming Conventions 46 3
2.1 Word Choice 46 3
2.2 Using Abbreviations and Acronyms 48 3
2.3 Avoiding Language-Specific Names 49 3
2.4 Naming New Versions of Existing APIs 51 3
3 Names of Assemblies and DLLs 54 3
4 Names of Namespaces 56 3
4.1 Namespaces and Type Name Conflicts 58 3
5 Names of Classes,Structs,and Interfaces 60 3
5.1 Names of Generic Type Parameters 64 3
5.2 Names of Common Types 64 3
5.3 Naming Enumerations 66 3
6 Names of Type Members 68 3
6.1 Names of Methods 68 3
6.2 Names of Properties 68 3
6.3 Names of Events 70 3
6.4 Naming Fields 72 3
7 Naming Parameters 73 3
7.1 Naming Operator Overload Parameters 74 3
8 Naming Resources 74 3
Type Design Guidelines 77 4
1 Types and Namespaces 79 4
11 Standard Subnamespace Names 83 4
2 Choosing Between Class and Struct 84 4
3 Choosing Between Class and Interface 88 4
4 Abstract Class Design 95 4
5 Static Class Design 97 4
6 Interface Design 98 4
7 Struct Design 101 4
8 Enum Design 103 4
8.1 Designing Flag Enums 110 4
8.2 Adding Values to Enums 114 4
9 Nested Types 115 4
10 Types and Assembly Metadata 118 4
Member Design 121 5
1 General Member Design Guidelines 121 5
1.1 Member Overloading 121 5
1.2 Implementing Interface Members Explicitly 128 5
1.3 Choosing Between Properties and Methods 132 5
2 Property Design 138 5
2.1 Indexed Property Design 140 5
2.2 Property Change Notification Events 142 5
3 Constructor Design 144 5
3.1 Type Constructor Guidelines 151 5
4 Event Design 153 5
4.1 Custom Event Handler Design 159 5
5 Field Design 159 5
6 Extension Methods 162 5
7 Operator Overloads 168 5
7.1 Overloading Operator== 173 5
7.2 Conversion Operators 173 5
8 Parameter Design 175 5
8.1 Choosing Between Enum and Boolean Parameters 177 5
8.2 Validating Arguments 179 5
8.3 Parameter Passing 183 5
8.4 Members with Variable Number of Parameters 186 5
8.5 Pointer Parameters 190 5
Designing for Extensibility 193 6
1 Extensibility Mechanisms 193 6
1.1 Unsealed Classes 194 6
1.2 Protected Members 196 6
1.3 Events and Callbacks 197 6
1.4 Virtual Members 201 6
1.5 Abstractions(Abstract Types and Interfaces) 203 6
2 Base Classes 206 6
3 Sealing 207 6
Exceptions 211 7
1 Exception Throwing 216 7
2 Choosing the Right Type of Exception to Throw 221 7
2.1 Error Message Design 225 7
2.2 Exception Handling 227 7
2.3 Wrapping Exceptions 232 7
3 Using Standard Exception Types 234 7
3.1 Exception and SystemException 234 7
3.2 ApplicationException 234 7
3.3 InvalidOperationException 235 7
3.4 ArgumentException,ArgumentNullException,and ArgumentOutOfRangeException 235 7
3.5 NullReferenceException,IndexOutOfRangeException,and Access ViolationException 237 7
3.6 StackOverflowException 237 7
3.7 OutOfMemoryException 238 7
3.8 ComException,SEHException,and ExecutionEngine-Exception 239 7
4 Designing Custom Exceptions 239 7
5 Exceptions and Performance 240 7
5.1 Tester-Doer Pattern 241 7
5.2 Try-Parse Pattern 242 7
Usage Guidelines 245 8
1 Arrays 245 8
2 Attributes 247 8
3 Collections 250 8
3.1 Collection Parameters 252 8
3.2 Collection Properties and Return Values 253 8
3.3 Choosing Between Arrays and Collections 258 8
3.4 Implementing Custom Collections 259 8
4 DateTime and DateTimeOffset 261 8
5 ICloneable 263 8
6 IComparable<T> and IEquatable<T> 264 8
7 IDisposable 266 8
8 Nullable<T> 266 8
9 Obiect 268 8
9.1 Object.Equals 268 8
9.2 Object.GetHashCode 270 8
9.3 Object.ToString 271 8
10 Serialization 274 8
10.1 Choosing the Right Serialization Technology to Support 275 8
10.2 Supporting Data Contract Serialization 276 8
10.3 Supporting XML Serialization 280 8
10.4 Supporting Runtime Serialization 281 8
11 Uri 283 8
11.1 System.Uri Implementation Guidelines 284 8
12 System.Xml Usage 284 8
13 Equality Operators 286 8
13.1 Equality Operators on Value Types 287 8
13.2 Equality Operators on Refrence Types 287 8
Common Design Patterns 289 9
1 Aggregate Components 289 9
1.1 Component-Oriented Design 291 9
1.2 Factored Types 294 9
1.3 Aggregate Component Guidelines 295 9
2 The Async Patterns 298 9
2.1 Choosing Between the Async Patterns 298 9
2.2 Classic Async Pattern 300 9
2.3 Classic Async Pattern Basic Implementation Example 304 9
2.4 Event-Based Async Pattern 305 9
2.5 Supporting Out and Ref Parameters 307 9
2.6 Supporting Cancellation 308 9
2.7 Supporting Progress Reporting 309 9
2.8 Supporting Incremental Results 311 9
3 Dependency Properties 312 9
3.1 Dependency Property Design 313 9
3.2 Attached Dependency Property Design 315 9
3.3 Dependency Property Validation 316 9
3.4 Dependency Property Change Notifications 317 9
3.5 Dependency Property Value Coercion 318 9
4 Dispose Pattern 319 9
4.1 Basic Dispose Pattern 322 9
4.2 Finalizable Types 328 9
5 Factories 332 9
6 LINQ Support 337 9
6.1 Overview of LINQ 337 9
6.2 Ways of Implementing LINQ Support 339 9
6.3 Supporting LINQ through IEnumerable<T> 339 9
6.4 Supporting LINQ through IQueryable<T> 340 9
6.5 Supporting LINQ through the Query Pattern 341 9
7 Optional Feature Pattern 344 9
8 Simulating Covariance 348 9
9 Template Method 354 9
10 Timeouts 356 9
11 XAML Readable Types 358 9
12 And in the End... 361 9
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《卓有成效的管理者 中英文双语版》(美)彼得·德鲁克许是祥译;那国毅审校 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019