Notes by Stephen R. Palmer

Home > Books

Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

Published in 1995, the Designs Pattern book brought the idea and use of design patterns into the mainstream of software development. The book's four authors have become popularly known as the Gang of Four and the patterns catalogued in the book have become known as the Gang of Four (GoF) patterns.

If there is a critiscm of the book, it is that many of the examples in the book are not sort of software that most developers design and build on a daily basis. The examples are mainly about Graphical User Interface(GUI) toolkits and word processor applications.

Also, being published in 1995, the book predates the rise of UML as the de facto industry standard graphical notation for object-oriented analysis and design. Therefore the notation used for diagrams in the book is unfortunately not UML.

The book also predates widespread use of Java and C# with their interface constructs that replace multiple-inheritance in languages like C++.  Code examples are, therefore, in C++..There are newer books that reproduce the Gang of Four patterns using UML with examples in Java or C# that might prove better alternatives. 

Whether you pick the original or a newer incarnation, the content has become required knowledge for all software developers. It also forms the foundation for a number of patterns found in regular use in J2EE applications such as those documented in Core J2EE Patterns.

 

Design Patterns

Title: Design Patterns: Elements of Reusable Object-Oriented Software
Authors: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Publisher: Addison-Wesley
ISBN:  0201633612
   
Amazon links: amazon.com amazon.co.uk

 

 
 
It is interesting to compare and contrast the GoF State Pattern with a sequence of Moment-Interval classes from Peter Coad's modeling in colour technique (read more...). Modeling in colour also uses examples of the GoF Strategy Pattern to provide plug-in points for Moment-Interval and Description classes.

The appropriate use of design patterns like those defined in this book, is something that should be identified and confirmed during the Design By Feature process in a project using Feature-Driven Development (FDD).
Copyright 2010 Stephen R. Palmer. All rights reserved.