Framework Design Guidelines: Must Read for Any Serious Developer

25. July 2006 02:41

I have been reading Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries.  This is already a well-known book within the .NET community and certainly isn't lacking of excellent reviews.  However, I have been so impressed with it that I couldn't resist throwing in my two cents as well.

First of all, it was written by Brad Abrams and Krzysztof Cwalina.  These guys hardly need any introduction.  Brad is a Program Manager for the .NET Framework.  He is one of the masterminds behind the design of a lot of the class libraries for the ECMA CLI specification.  Krzysztof is a Program Manager on the CLR team.  He has also been involved with several of the prominent namespaces of .NET and was one of the creators of FxCop.  These are a couple of really sharp guys that possess a wealth of knowledge about .NET.  It's hard to go wrong with authors that have such distinguished experience.

The book is a very good read.  The intended audience seems to be primarily developers and/or designers of frameworks or class libraries.  However, it would certainly be beneficial to any serious developer that just wants a greater understanding of some of the fundamental design of .NET.  In my opinion, it should be a required read for any developer that will be writing code used by other developers. 

The authors do an excellent job providing practical advice in the form of Do, Consider, Avoid, and Do Not.  They cover a lot of important topics ranging from naming, type design, member design, extensibility and usability considerations as well as exceptions and common design patterns.  Even if you aren't the type to sit down a read a book like this from cover to cover, it would be worthwhile to snag a copy and hold on to it for reference purposes.  If your position involves a lot of design/development of libraries used by other developers, then it would definitely be a good reference to have on hand.

Don't take my word for it.  Go out to the Amazon link for the book (see above) and read some of the customer reviews.  There are several people that are capable of elaborating the praise of this book far better than I can.

Comments are closed

About Me

I'm a passionate software developer and advocate of the Microsoft .NET platform.  In my opinion, software development is a craft that necessitates a conscious effort to continually improve your skills rather than falling into the trap of complacency.  I was also awarded as a Microsoft MVP in Connected Systems in 2008, 2009, and 2010.

Can’t code withoutThe best C# & VB.NET refactoring plugin for Visual Studio
Follow jeff_barnes on Twitter

View Jeff Barnes's profile on LinkedIn


Shared Items


Anything you read or see on this site is solely based on my own thoughts.  The material on this site does not necessarily reflect the views of my employer or anyone else.  In other words, I don't speak for anyone other than myself.  So, don't assume I am the official spokesperson for anyone.