Framework Design Guidelines

Framework Design Guidelines

$64.99

SKU: 9780135896464
Quantity Discount
5 + $48.74

Description

The third edition of Framework Design Guidelines continues with guidelines and explanatory style found in the previous editions. In addition to clarifying and refreshing existing content, the new edition will provide guidance around new concepts in C# and .NET, such as asynchronous programming with Task and ValueTask and lightweight memory access with Memory<T> and Span<T>. The third edition will also describe distributing shared components via NuGet, and concerns and considerations to take into account.
Krzysztof Cwalina is a Principal Architect at Microsoft. He was a founding member of the .NET Framework team, and throughout his career has designed many .NET Framework, .NET Core, and other APIs. He is currently working on Azure SDK APIs. Krzysztof graduated with BS and MS in computer science from the University of Iowa. 
Jeremy Barton is a Principal Software Engineer at Microsoft. The majority of his career in computer software has been on the design and development of shared libraries. Since 2005 his primary programming language is C#, and he joined the .NET Base Class Libraries team in 2015 and is primarily responsible for .NET Cryptography. Jeremy graduated from Rose-Hulman Institute of Technology with a BS in Computer Science and Discrete Mathematics. Since graduation, he has gotten a cat, married, and a pilot’s license.
Brad Abrams was a founding member of the Common Language Runtime and .NET Framework teams at Microsoft Corporation. He has been designing parts of the .NET Framework since 1998 and is currently a Group Program Manager at Google. Brad started his framework design career building the Base Class Library (BCL) that ships as a core part of the .NET Framework. Brad was also the lead editor on the Common Language Specification (CLS), the .NET Framework Design Guidelines, and the libraries in the ECMA/ISO CLI Standard. Brad has authored and coauthored multiple publications, including Programming in the .NET Environment and .NET Framework Standard Library Annotated Reference, Volumes 1 and 2. Brad graduated from North Carolina State University with a BS in computer science. You can find his most recent musings on his blog at http://blogs.msdn.com/BradA.

Framework Design Guidelines has long been the definitive guide to best practices for developing components and component libraries in Microsoft .NET. Now, this 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 Microsoft 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 utilising Task and ValueTask
  • Make the most of the Core Memory and Span types for lightweight memory access
  • Chapter 1: Introduction
  • Chapter 2: Framework Design Fundamentals
  • Chapter 3: Naming Guidelines
  • Chapter 4: Type Design Guidelines
  • Chapter 5: Member Design
  • Chapter 6: Designing for Extensibility
  • Chapter 7: Exceptions
  • Chapter 8: Usage Guidelines
  • Chapter 9: Common Design Patterns
  • Appendix A: C# Coding Style Conventions
  • Appendix B: Obsolete Guidance
  • Appendix C: Sample API Specification
  • Appendix D: Breaking Changes
  • Glossary
  • Coverage of new aspects of API design that are critical to modern .NET libraries
  • Revised third edition provides guidance around new concepts in C# and .NET
  • Written by members of the API review board for .NET 

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<T> and Span<T> 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.

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Keep up with the dynamic, game-changing innovations shaping the .NET landscape 

  • Coverage of new aspects of API design that are critical to modern .NET libraries
  • Revised third edition provides guidance around new concepts in C# and .NET
  • Written by members of the API review board for .NET 

Additional information

Dimensions 1.40 × 6.95 × 9.05 in
Series

Imprint

Format

ISBN-13

ISBN-10

Author

, ,

BISAC

,

Subjects

professional, higher education, COM051380, Employability, IT Professional, COM051240, Y-AR .NET / DM