Rating: - Good ideas for a Framework designer
Very well organized, and good content.
Id like to see more diagrams or so, so we can se how they decide to build the things... but it still is great.
Rating: - One of the best on the subject
I think this is one of the best books on this subject that I have read so far- very practical, very useful. There is a lot of information, real-life examples and experience from the .NET framework design team.
Rating: - Simply the best
As a professional I have worked many times on building re-usable and extensible frameworks. Therefore, I had to read several books in order to make sure that the framework I was building was doing what it was supposed to do. However, in all these years I had never the luck to get a complete guide of "building a framework the right way" and I had to always put together pieces from different articles in order to make my own guide. Well, there you have it! Buy this book, read it and you will have a complete guide of how to do things the right way. Another great thing about this book is that different professionals make their comments about almost every guideline. As a result you are not only exposed to writer's view but also to the views and opinions of many well respected software professionals. Do buy this book and as hard as it might seem try to apply its recommendations to your daily development process.
Rating: - Passionate About Quality?
I don't personally think that all developers will find this book useful. In fact, I have a feeling that some may find it highly useless and disruptive as it is abstract in a sense (one must apply the lessons to each library and scenario independently, taking into consideration many different aspects of usability and readability) and it does require some "retraining" of bad practices which have been long since ingrained due to years of usage.
But whether this book deserves a five star rating or a one star rating - whether this book is for you - can be answered by asking yourself the following question: are you obsessed with quality? Quality in the sense of creating a library that is:
- Easily reused by others, even first timers encountering the library or even first timers to .Net
- Well thought out with well designed classes
- Consistent within itself and consistent with the base libraries from Microsoft
The importance of the little things like naming classes, properties, methods, using one type of construct over another, using one type of accessor over another, etc. cannot be stressed enough in the overall picture of creating a library to a higher standard of quality, usability, and extensibility.
As Confucius is to have said:
"If names be not correct, language is not in accordance with the truth of things. If language be not in accordance with the truth of things, affairs cannot be carried on to success.
"When affairs cannot be carried on to success, proprieties and music do not flourish. When proprieties and music do not flourish, punishments will not be properly awarded. When punishments are not properly awarded, the people do not know how to move hand or foot.
"Therefore a superior man considers it necessary that the names he uses may be spoken appropriately, and also that what he speaks may be carried out appropriately. What the superior man requires is just that in his words there may be nothing incorrect."
As I wrote in an e-mail to my team, I think that digesting this book will lead to: higher quality public facing APIs for our customer development teams seeking to extend the functionality, increased readability and more consistency internally in our teams, increased usability and decreased maintenance costs for the support teams as well as new developers on our team, and of course, increased skill, knowledge, and competency as developers of each of the team members.
Rating: - A must have for any C# Developer or Architect
If you need to write C#/.Net or even Java, this book is a must have.
|