Veze, linkovi
Kompjuter biblioteka
Korpa
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edit

UX DIZAJN UX DIZAJN

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edit

Autor: Krzysztof Cwalina, Jeremy Barton, Brad Abrams
Broj strana:
ISBN broj: 978-0-13-589637-2
Izdavač: PEARSON EDUCATION PEARSON EDUCATION
Godina izdanja: 2020.

Pregleda (30 dana / ukupno): 59 / 130

                 
Twitter   Facebook   Linkedin   Pinterest   Email
                 
Predlog za prevod

 

Master Today’s Best Practices for Building Reusable .NET Frameworks, Libraries, and Components

 

“.NET Core [contains] advances important to cloud application developers: performance, resource utilization, container support, and others. This third edition of Framework Design Guidelines adds guidelines related to changes that the .NET team adopted during transition from the world of client-server application to the world of the Cloud.”
–From the Foreword by Scott Guthrie

Framework Design Guidelines has long been the definitive guide to best practices for developing components and component libraries in Microsoft .NET. Now, this third edition has been fully revised to reflect game-changing API design innovations introduced by Microsoft through eight recent updates to C#, eleven updates to .NET Framework, and the emergence and evolution of .NET Core.

Three leading .NET architects share the same guidance Microsoft teams are using to evolve .NET, so you can design well-performing components that feel like natural extensions to the platform. Building on the book’s proven explanatory style, the authors and expert annotators offer insider guidance on new .NET and C# concepts, including major advances in asynchronous programming and lightweight memory access. Throughout, they clarify and refresh existing content, helping you take full advantage of best practices based on C# 8, .NET Framework 4.8, and .NET Core.

  • Discover which practices should always, generally, rarely, or never be used–including practices that are no longer recommended
  • Learn the general philosophy and fundamental principles of modern framework design
  • Explore common framework design patterns with up-to-date C# examples
  • Apply best practices for naming, types, extensibility, and exceptions
  • Learn how to design libraries that scale in the cloud
  • Master new async programming techniques utilizing Task and ValueTask
  • Make the most of the Memory and Span types for lightweight memory access

This guide is an indispensable resource for everyone who builds reusable .NET-based frameworks, libraries, or components at any scale: large system frameworks, medium-size reusable layers of large distributed systems, extensions to system frameworks, or even small shared components.

Table of Contents

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 and IEquatable 309
8.7 IDisposable 311
8.8 Nullable 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

 

 

Komentari

• Stevan
Odlicna knjiga.

• Jasming
Odlicna knjiga dobro bi bilo da je prevedete jer na srpskom nema ovako dobre knjige za NET.

• Ivan
Predlog za prevod. Veoma zanimljivo stivo.

• Nikola Josovic
Izgleda kao jako zanimljiva knjiga.Ovo je knjiga koja nema rok trajanja.

• Stanislav
Po sadržaju bi trebalo da bude zanimljiva knjiga, vidim da je dobro ocenjena na amazonu

Ostavite komentar Ostavite komentar

 

Preporučujemo

Expert Data Visualization

Expert Data Visualization

Experience Design for Beginners

Experience Design for Beginners

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272