Description
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.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.