Summary: There are many resources for people interested in patterns. This month, I’ll review some of the more important ones.
On the Web
http://billwake.blogspot.com/search/label/patterns
My patterns home page.
http://st-www.cs.uiuc.edu/users/patterns/
The Patterns Home Page. These are the basic patterns pages, hosted by UIUC.
http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns
The Organizational Patterns Page. Patterns for software engineering in the large.
http://c2.com/ppr/
Portland Pattern Repository. I particularly enjoyed seeing the original CRC cards.
On Paper
A Pattern Language. C. Alexander, et al. Oxford University Press, 1977.
Christopher Alexander is an architect, whose work inspired much of the patterns approach. This book starts with designing countries, and works its way down to how to mix concrete.
Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Addison-Wesley, 1994.
This is my favorite OOD book. Every programmer should be aware of it. This book embodies the key feature of the pattern movement: don’t just talk about good design, show concrete examples.
Pattern Languages of Program Design. Edited by James O. Coplien and Douglas C. Schmidt. Addison-Wesley, 1995.
This book grew out of the PLoP’94 conference.
Pattern Languages of Program Design 2. Edited by John M. Vlissides, James O. Coplien, and Norman L. Kerth. Addison-Wesley, 1996.
A similar book for the PLoP’95 conference.
Analysis Patterns: Reusable Object Models. Martin Fowler. Addison-Wesley, 1997.
This book focuses on analysis patterns, and is probably as significant for analysis as Gamma et al. for design.