posted 17 years ago
In a nutshell, a design pattern is a reusable solution to a commonly encountered programming problem. The idea of Design patterns in Object Oriented Programming was made popular by the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (affectionately referred to as the "gang of four") first published in 1994.
Many of the patterns described in this book have become very commonly known and used in OOD, such as Singleton, Factory, Decorator, Proxy, Facade, etc.
The advantage of using Design patterns is that they allow you to take solutions that very smart people have created and apply them to your particular programming problem.