图书介绍
.NET设计规范 约定、惯用法与模式 英文版PDF|Epub|txt|kindle电子书版本网盘下载
![.NET设计规范 约定、惯用法与模式 英文版](https://www.shukui.net/cover/42/33220064.jpg)
- (美)KrzysztofCwalina,BradAbrams著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115214454
- 出版时间:2010
- 标注页数:443页
- 文件大小:127MB
- 文件页数:464页
- 主题词:计算机网络-程序设计
PDF下载
下载说明
.NET设计规范 约定、惯用法与模式 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Introduction 11
1 Qualities of a Well-Designed Framework 31
1.1 Well-Designed Frameworks Are Simple 31
1.2 Well-Designed Frameworks Are Expensive to Design 41
1.3 Well-Designed Frameworks Are Full of Trade-Offs 51
1.4 Well-Designed Frameworks Borrow from the Past 51
1.5 Well-Designed Frameworks Are Designed to Evolve 51
1.6 Well-Designed Frameworks Are Integrated 61
1.7 Well-Designed Frameworks Are Consistent 61
Framework Design Fundamentals 92
1 Progressive Frameworks 112
2 Fundamental Principles of Framework Design 142
2.1 The Principle of Scenario-Driven Design 152
2.2 The Principle of Low Barrier to Entry 212
2.3 The Principle of Self-Documenting Object Models 262
2.4 The Principle of Layered Architecture 332
Naming Guidelines 373
1 Capitalization Conventions 383
1.1 Capitalization Rules for Identifiers 383
1.2 Capitalizing Acronyms 403
1.3 Capitalizing Compound Words and Common Terms 433
1.4 Case Sensitivity 453
2 General Naming Conventions 463
2.1 Word Choice 463
2.2 Using Abbreviations and Acronyms 483
2.3 Avoiding Language-Specific Names 493
2.4 Naming New Versions of Existing APIs 513
3 Names of Assemblies and DLLs 543
4 Names of Namespaces 563
4.1 Namespaces and Type Name Conflicts 583
5 Names of Classes,Structs,and Interfaces 603
5.1 Names of Generic Type Parameters 643
5.2 Names of Common Types 643
5.3 Naming Enumerations 663
6 Names of Type Members 683
6.1 Names of Methods 683
6.2 Names of Properties 683
6.3 Names of Events 703
6.4 Naming Fields 723
7 Naming Parameters 733
7.1 Naming Operator Overload Parameters 743
8 Naming Resources 743
Type Design Guidelines 774
1 Types and Namespaces 794
11 Standard Subnamespace Names 834
2 Choosing Between Class and Struct 844
3 Choosing Between Class and Interface 884
4 Abstract Class Design 954
5 Static Class Design 974
6 Interface Design 984
7 Struct Design 1014
8 Enum Design 1034
8.1 Designing Flag Enums 1104
8.2 Adding Values to Enums 1144
9 Nested Types 1154
10 Types and Assembly Metadata 1184
Member Design 1215
1 General Member Design Guidelines 1215
1.1 Member Overloading 1215
1.2 Implementing Interface Members Explicitly 1285
1.3 Choosing Between Properties and Methods 1325
2 Property Design 1385
2.1 Indexed Property Design 1405
2.2 Property Change Notification Events 1425
3 Constructor Design 1445
3.1 Type Constructor Guidelines 1515
4 Event Design 1535
4.1 Custom Event Handler Design 1595
5 Field Design 1595
6 Extension Methods 1625
7 Operator Overloads 1685
7.1 Overloading Operator== 1735
7.2 Conversion Operators 1735
8 Parameter Design 1755
8.1 Choosing Between Enum and Boolean Parameters 1775
8.2 Validating Arguments 1795
8.3 Parameter Passing 1835
8.4 Members with Variable Number of Parameters 1865
8.5 Pointer Parameters 1905
Designing for Extensibility 1936
1 Extensibility Mechanisms 1936
1.1 Unsealed Classes 1946
1.2 Protected Members 1966
1.3 Events and Callbacks 1976
1.4 Virtual Members 2016
1.5 Abstractions(Abstract Types and Interfaces) 2036
2 Base Classes 2066
3 Sealing 2076
Exceptions 2117
1 Exception Throwing 2167
2 Choosing the Right Type of Exception to Throw 2217
2.1 Error Message Design 2257
2.2 Exception Handling 2277
2.3 Wrapping Exceptions 2327
3 Using Standard Exception Types 2347
3.1 Exception and SystemException 2347
3.2 ApplicationException 2347
3.3 InvalidOperationException 2357
3.4 ArgumentException,ArgumentNullException,and ArgumentOutOfRangeException 2357
3.5 NullReferenceException,IndexOutOfRangeException,and Access ViolationException 2377
3.6 StackOverflowException 2377
3.7 OutOfMemoryException 2387
3.8 ComException,SEHException,and ExecutionEngine-Exception 2397
4 Designing Custom Exceptions 2397
5 Exceptions and Performance 2407
5.1 Tester-Doer Pattern 2417
5.2 Try-Parse Pattern 2427
Usage Guidelines 2458
1 Arrays 2458
2 Attributes 2478
3 Collections 2508
3.1 Collection Parameters 2528
3.2 Collection Properties and Return Values 2538
3.3 Choosing Between Arrays and Collections 2588
3.4 Implementing Custom Collections 2598
4 DateTime and DateTimeOffset 2618
5 ICloneable 2638
6 IComparable<T> and IEquatable<T> 2648
7 IDisposable 2668
8 Nullable<T> 2668
9 Obiect 2688
9.1 Object.Equals 2688
9.2 Object.GetHashCode 2708
9.3 Object.ToString 2718
10 Serialization 2748
10.1 Choosing the Right Serialization Technology to Support 2758
10.2 Supporting Data Contract Serialization 2768
10.3 Supporting XML Serialization 2808
10.4 Supporting Runtime Serialization 2818
11 Uri 2838
11.1 System.Uri Implementation Guidelines 2848
12 System.Xml Usage 2848
13 Equality Operators 2868
13.1 Equality Operators on Value Types 2878
13.2 Equality Operators on Refrence Types 2878
Common Design Patterns 2899
1 Aggregate Components 2899
1.1 Component-Oriented Design 2919
1.2 Factored Types 2949
1.3 Aggregate Component Guidelines 2959
2 The Async Patterns 2989
2.1 Choosing Between the Async Patterns 2989
2.2 Classic Async Pattern 3009
2.3 Classic Async Pattern Basic Implementation Example 3049
2.4 Event-Based Async Pattern 3059
2.5 Supporting Out and Ref Parameters 3079
2.6 Supporting Cancellation 3089
2.7 Supporting Progress Reporting 3099
2.8 Supporting Incremental Results 3119
3 Dependency Properties 3129
3.1 Dependency Property Design 3139
3.2 Attached Dependency Property Design 3159
3.3 Dependency Property Validation 3169
3.4 Dependency Property Change Notifications 3179
3.5 Dependency Property Value Coercion 3189
4 Dispose Pattern 3199
4.1 Basic Dispose Pattern 3229
4.2 Finalizable Types 3289
5 Factories 3329
6 LINQ Support 3379
6.1 Overview of LINQ 3379
6.2 Ways of Implementing LINQ Support 3399
6.3 Supporting LINQ through IEnumerable<T> 3399
6.4 Supporting LINQ through IQueryable<T> 3409
6.5 Supporting LINQ through the Query Pattern 3419
7 Optional Feature Pattern 3449
8 Simulating Covariance 3489
9 Template Method 3549
10 Timeouts 3569
11 XAML Readable Types 3589
12 And in the End... 3619