Framework Design Guidelines
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries is a great book even though the title is a mouthful. This book targets people who want to build their own framework or extend the .NET Framework. It walks you through design issues that you might face in an effort to help you build more reliable software.
The layout of this book is very refreshing because it is so straightforward. The authors literally tell you do this or that because it s a best practice type of thing, consider these things in certain situations, avoid these things if possible, and, finally, don t do these things at all. You can t get any more straightforward than that. I also like that the authors include words of wisdom from prominent people in the .NET community.
The beginning of the book starts with a high-level discussion of framework fundamentals, as well as naming conventions, structs, and enums. This is good information, and the authors make it very easy to understand. I recommend this section for beginners; more seasoned programmers might want to simply skim through it.
The middle chapters get more complicated, covering topics such as event designs, extensibility, and exceptions. I recommend readers pay particular attention to the section on exceptions. After reading the chapter you should have a better understanding of exceptions and how important they are in your framework. As a coder, you may want to avoid exceptions, but the book tells you why you should embrace them.
The end of the book discusses specific patterns by name, as well as when they should be used. It also covers C# coding conventions, and, finally, the use of FxCop. FxCop is a tool that you can run against your code to ensure it is compliant with rules you set up. The section on FxCop is also a must read. If you were serious enough to read Framework Design Guidelines, download FxCop it complements the book very well.
Overall, I love this book and heartily recommend it for programmers, system architects, and system integrators. This book also complements .NET Framework Standard Library Annotated Reference, (volume 1 and 2).
Title: Framework Design Guidelines (Conventions, Idioms, and Patterns for Reusable .NET Libraries)
Authors: Krzysztof Cwalina and Brad Abrams
Page Count: 384