Though this be madness, yet there is method in 't.
—William Shakespeare
The word “Design Patterns” was first used by architect Christoper Alexander in his article “Toward a Personal Workspace”
and book
with Sara Ishikawa and Murray Silverstein: “A Pattern Language: Towns, Buildings, Construction”
Oxford University Press 1977 ISBN 0-19-501919-9.
Alexander believed that while most processes involved in designing
physical structures were variable, there was always a single common
invariant process underlying all other processes, which
precisely defined the principles of the structure's design and construction.
—AntiPatterns
The “Gang of Four” (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides)
applied Alexander's concepts to computer systems in their 1994 book
$50 Design Patterns, Elements of Reusable Object-Oriented Software from Addison-Wesley, ISBN 0-201-63361-2. 395 pages.
This “GoF” have their own
newsgroup.
Specific Patterns
Early examples were in Smalltalk and C++, but have been applied to other languages:
$60 Object-Oriented Software Development in Java: Principles, Patterns, and Frameworks
by Xiaoping Jia. Addison-Wesley, October 1999. 550 pages. A great introduction: thorough yet suscinct.
Analysis Patterns: Reusable Object Models
by Martin Fowler (Addison-Wesley, 1996 ISBN 0-201-89542-0).
Design Patterns for Object-Oriented Development
by Wolfgang Pree (Addison-Wesley, 1995 ISBN 0-201-42294-8).
Pattern Oriented Software Architecture: A System of Patterns
by F. Buschman, et. al. (John Wiley, 1996 ISBN 0-471-95869-7).
Pattern Languages of Program Design
by J. Coplien and D. Schmidt (Addison-Wesley, 1995 ISBN 0-201-60734-4).
Pattern Languages of Program Design 2
by John Vlissides, J. Coplien and Normal Kerth (Addison-Wesley, 1996 ISBN 0-201-89527-7).
Pattern Languages of Program Design 3
by R. Martin (Addison-Wesley, 1997 ISBN 0-201-31011-2).
Pattern Hatching: Design Patterns Applied
by John Vlissides (Addison-Wesley, 1998 ISBN 0-201-43293-5).
AntiPatterns
This book presents patterns to describe the roots of organizational
disfunctions (such as the “Seven Deadly Sins”) that undermine
or enhance system develoopment efforts:
AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
by William Brown, Raphael C. Malveau, Hays W. McCormick III, William H. Brow, and Thomas J. Mowbray
(John Wiley, 1998 ISBN 0-471-19713-0).
The Antipatterns newsgroup