Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edition
©2020 |Addison-Wesley Professional | Available
Krzysztof Cwalina
Jeremy Barton
Brad Abrams
©2020 |Addison-Wesley Professional | Available
Introducing Pearson+ 1500+ eTexts and study tools, all in one place. Subscriptions starting at $9.99/month.
K-12 educators: This link is for individuals purchasing with credit cards or PayPal only. Contact your Savvas Learning Company Account General Manager for purchase options.
This product is part of the following series. Click on a series title to see the full list of products in the series.
Figures xvii
Tables xix
Foreword to the Third Edition xxi
Foreword to the Second Edition xxiii
Foreword to the First Edition xxv
Preface xxvii
Acknowledgments xxxiii
About the Authors xxxv
About the Annotators xxxvii
Chapter 1: Introduction 1
1.1 Qualities of a Well-Designed Framework 3
Chapter 2: Framework Design Fundamentals 9
2.1 Progressive Frameworks 12
2.2 Fundamental Principles of Framework Design 15
Chapter 3: Naming Guidelines 41
3.1 Capitalization Conventions 42
3.2 General Naming Conventions 52
3.3 Names of Assemblies, DLLs, and Packages 61
3.4 Names of Namespaces 63
3.5 Names of Classes, Structs, and Interfaces 67
3.6 Names of Type Members 74
3.7 Naming Parameters 79
3.8 Naming Resources 81
Chapter 4: Type Design Guidelines 83
4.1 Types and Namespaces 85
4.2 Choosing Between Class and Struct 89
4.3 Choosing Between Class and Interface 92
4.4 Abstract Class Design 100
4.5 Static Class Design 102
4.6 Interface Design 104
4.7 Struct Design 106
4.8 Enum Design 111
4.9 Nested Types 124
4.10 Types and Assembly Metadata 127
4.11 Strongly Typed Strings 129
Chapter 5: Member Design 135
5.1 General Member Design Guidelines 135
5.2 Property Design 158
5.3 Constructor Design 165
5.4 Event Design 175
5.5 Field Design 180
5.6 Extension Methods 184
5.7 Operator Overloads 192
5.8 Parameter Design 202
5.9 Using Tuples in Member Signatures 220
Chapter 6: Designing for Extensibility 227
6.1 Extensibility Mechanisms 227
6.2 Base Classes 242
6.3 Sealing 244
Chapter 7: Exceptions 249
7.1 Exception Throwing 254
7.2 Choosing the Right Type of Exception to Throw 260
7.3 Using Standard Exception Types 273
7.4 Designing Custom Exceptions 279
7.5 Exceptions and Performance 281
Chapter 8: Usage Guidelines 287
8.1 Arrays 287
8.2 Attributes 291
8.3 Collections 294
8.4 DateTime and DateTimeOffset 306
8.5 ICloneable 308
8.6 IComparable<T> and IEquatable<T> 309
8.7 IDisposable 311
8.8 Nullable<T> 311
8.9 Object 312
8.10 Serialization 319
8.11 Uri 321
8.12 System.Xml Usage 323
8.13 Equality Operators 324
Chapter 9: Common Design Patterns 329
9.1 Aggregate Components 329
9.2 The Async Patterns 339
9.3 Dependency Properties 365
9.4 Dispose Pattern 372
9.5 Factories 394
9.6 LINQ Support 400
9.7 Optional Feature Pattern 408
9.8 Covariance and Contravariance 412
9.9 Template Method 423
9.10 Timeouts 426
9.11 XAML Readable Types 427
9.12 Operating on Buffers 430
9.13 And in the End... 464
Appendix A: C# Coding Style Conventions 465
A.1 General Style Conventions 466
A.2 Naming Conventions 480
A.3 Comments 482
A.4 File Organization 483
Appendix B: Obsolete Guidance 487
Appendix C: Sample API Specification 523
Appendix D: Breaking Changes 529
D.1 Modifying Assemblies 530
D.2 Adding Namespaces 531
D.3 Modifying Namespaces 532
D.4 Moving Types 532
D.5 Removing Types 533
D.6 Modifying Types 534
D.7 Adding Members 539
D.8 Moving Members 541
D.9 Removing Members 542
D.10 Overloading Members 544
D.11 Changing Member Signatures 545
D.12 Changing Behavior 553
D.13 A Final Note 556
Glossary 557
Index 563
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (Oasis), 3rd Edition
Cwalina, Barton & Abrams
©2020
Pearson offers affordable and accessible purchase options to meet the needs of your students. Connect with us to learn more.
K12 Educators: Contact your Savvas Learning Company Account General Manager for purchase options. Instant Access ISBNs are for individuals purchasing with credit cards or PayPal.
Savvas Learning Company is a trademark of Savvas Learning Company LLC.
Cwalina, Barton & Abrams
©2020  | Addison-Wesley Professional
We're sorry! We don't recognize your username or password. Please try again.
The work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning.
You have successfully signed out and will be required to sign back in should you need to download more resources.