Framework Design Guidelines, Second Edition, teaches developers the best practices for designing reusable libraries for the Microsoft .NET Framework. Expanded and updated for .NET 3.5, this new edition focuses on the design issues that directly affect the programmability of a class library, specifically its publicly accessible APIs. This book can improve the work of any .NET developer producing code that other developers will use. It includes copious annotations to the guidelines by thirty-five prominent architects and practitioners of the .NET Framework, providing a lively discussion of the reasons for the guidelines as well as examples of when to break those guidelines. Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework design from the top down. From their significant combined experience and deep insight, you will learn The general philosophy and fundamental principles of framework design Naming guidelines for the various parts of a framework Guidelines for the design and extending of types and members of types Issues affecting-and guidelines for ensuring-extensibility How (and how not) to design exceptions Guidelines for-and examples of-common framework design patterns Guidelines in this book are presented in four major forms: Do, Consider, Avoid, and Do not. These directives help focus attention on practices that should always be used, those that should generally be used, those that should rarely be used, and those that should never be used. Every guideline includes a discussion of its applicability, and most include a code example to help illuminate the dialogue. Framework Design Guidelines, Second Edition, is the only definitive source of best practices for managed code API development, direct from the architects themselves. A companion DVD includes the Designing .NET Class Libraries video series, instructional presentations by the authors on design guidelines for developing classes and components that extend the .NET Framework. A sample API specification and other useful resources and tools are also included.
This is the book that at least all .NET developers have to read! It mentioned tips, best-practices, and a lot of other things about .NET and framework design.
And it's good to remember what folks have reviewed this book: Anders Hejlsberg, Scott Guthrie, and Miguel De Icaza. You can learn a lot from each of them individually!
It gave me some insight into the though process that is behind .net framework, and it were interesting that they have included different viewpoints for the design decisions that were made.
This book is a must-read for any developer who is building or consuming .NET libraries. Even if you are familiar with the guidelines (from blogs, FxCop, or elsewhere) this book is outstanding--the authors sprinkle the primary guidelines content with commentary from other bigwigs, including Jeffrey Richter, Rico Mariani, Anders Hejlsberg and more. Through their comments, you get the "story-behind-the-story" (which guidelines are really important, which guidelines they disagree with, which guidelines are not followed the .NET Framework itself, etc.) This adds valuable practical advice, and makes for an interesting read.
The best resource around for API design. Based on the creation of the .NET framework APIs, this is a fantastic set of guidelines for helping developers create easily understood API signatures.
One of my favorite aspects is the break-out text by various additional contributors. They are not afraid to point out their own mistakes (many of which still exist within the .NET libraries) or to question each others' decisions. Since there is very rarely a single right or wrong solution to a problem, I appreciate the discussions and reasoning behind many of these choices.
Must read for .NET developer. It's aimed at explaining the rules for developing framework libraries but even if you're not in that business it's packed with insight. The book alternates between dry rules and entertaining commentary by .NET luminaries explaining exceptions, history or just why they miss Hungarian notation.
This book shows that the .net Framework has a clear design to it that is pretty decent and useful to follow Microsoft's lead. I recomend it to anyone working with .net.
A must read for every one how creates source code or is responsible for software quality. This was the eye opener for me for how to build quality into software.
Although nowadays maybe bit outdated but still has a lot of fascinating advices. Absolutely eye opening book and must read when you are a .net developer.