Design Patterns
Gamma, et al. (1995)

Book review by Ted Felix

Commonly referred to as the "Gang of Four" (GoF) book. Covers some common patterns that are found in object oriented designs. This was a very important book in its time, but it has been supplanted by better written books on the subject. If you've already read some patterns books and you'd like to find out how it all started, this is the book to read. Learning about patterns will expand your understanding of how to use the expressive tools provided by object oriented languages. Instrumental to me when I read it in 1995 was the Mediator Pattern which justifies having objects whose sole purpose is to "encapsulate" behavior.

My main problems with this book are that it is quite vague and that it is biased toward the advantages of each pattern without giving equal weight to the disadvantages. As an example, it lists only benefits for the Command pattern. Yet, if the Command pattern has only benefits, why shouldn't it be used everywhere? Why shouldn't we just forget about regular function calls and make every interface to every class use Command pattern? Unfortunately, this is the way many readers interpret the patterns in this book. They believe they should be used everywhere ("patternitis" if you will). When you read this book, you have to actively consider the disadvantages of each pattern on your own. Otherwise you will be misled.

I suggest reading Larman's Applying UML and Patterns before reading this. He goes over some of the more important patterns and gives an excellent introduction to OO design with patterns. His attitude is that patterns should only be used where they make sense. This is an important attitude you'll not get from reading Design Patterns.

<- Back to my software books page.

Copyright ©2005-2006, Ted Felix. Disclaimer