Design Patterns

Design patterns are object-oriented solutions to problems that are often encountered in design.

From the popular text (Gamma, Helm, Johnson, Vlissides) containing a catalog of patterns: