This book is essential for anyone wanting to write re-usable libraries for .NET
An excellent book to help you really learn to think about object oriented design and the trade offs of different implementation approaches.
One of the important concepts of this book is how to think about the natural joints in your object hierarchy. A lot of developers think they are doing object oriented design but are in fact doing data driven design. If you find that you always have a 1 to 1 correspondence between classes and tables in the database you probably fall into this camp. This book will help you take your thinking about objects to the next level.
Of all the books I've ever read, this one had the most direct impact in helping me improve the organization and readability of my code. I read the original and then when the second edition came out I read it again. Every serious developer should read this book.
>The famous Gang of Four book is the classic tomb on design patterns. Understanding design patterns separates the men from the boys in software development. Its not the easiest stuff to digest but those who can learn to recognize and use patterns will write much more elegant and maintainable code.
This book is great for a C# developer who wants to learn the Gang of Four design patterns. I struggle with some of the uml diagrams in the Gang of Four book and seeing the C# code really helps me understand the patterns.
Often we inherit the maintenance of poorly structured code. This book can help you learn to improve the design of existing code. You will learn as Fowler says to sniff out bad smells in your code and fix them so as to remove any offending odors.
This is a good reference for ASP.NET and C# if you are moving into the new 2.0 .NET way of doing things.