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.
b64e2a6a-8eb0-4f7f-8b46-fe397170018b|0|.0