Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Design Patterns Explained: A New Perspective on Object-Oriented Design Review by Eric Renkey
An Excellent Tutorial
This book has had a lasting positive influence on the way that I approach software design. What I liked most about the book is the way that it uses a single software design example that evolves as the requirements change. Each design pattern is introduced in context as a better solution to a problem than the original design. What may be even more valuable in the long run is that the authors distill commonalities among the patterns into several heuristics for software design: find what varies and encapsulate it, favor composition over inheritance, design your objects to be entities with well-designed responsibilities instead of just "smart data", etc. The heuristics that I mentioned may seem like empty phrases, or if you're experienced enough, common sense, but by the end of the book you will be able to visualize exactly what those phrases mean in practice and visualize the architecture of a design that conforms to the principles.
The book's strength can also be its weakness, depending on your point of view. Since it endeavors to SHOW the reader how design patterns are encountered in practice instead of to simply TELL the reader about them, at least one developer that I know feels that the book is somewhat repetitive and not enough "to the point". The book may not be for you if you prefer terse technical documentation. Also, you should know that not all of the GoF patterns are discussed. With those criticisms in mind, I'd like to point out in response to previous reviewer JavaIreland that if you DO find yourself coming back to this book, I believe that it has failed in its mission. I do not refer regularly to the book, but that is because the book did such a good job of teaching me the principles underlying design patterns that I rarely need to refer to the specific patterns.