Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (Addison-Wesley Microsoft Technology Series)
Author: Krzysztof Cwalina (Author), Jeremy Barton (Author), Brad Abrams (Author)
Publisher finelybook 出版社: Addison-Wesley Professional
Edition 版本: 3rd
Publication Date 出版日期: 2020-06-18
Language 语言: English
Print Length 页数: 624 pages
ISBN-10: 0135896460
ISBN-13: 9780135896464
Book 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.
About the Author
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.