Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edition
- Paperback: 624 pages
- Publisher: WOW! eBook; 3rd edition (July 3, 2020)
- Language: English
- ISBN-10: 0135896460
- ISBN-13: 978-0135896464
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edition: Master Today’s Best Practices for Building Reusable .NET Frameworks, Libraries, and Components
Framework Design Guidelines, 3rd Edition 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.