Design pattern
<programming> A description of an
object-oriented design technique which names, abstracts and identifies aspects of a design structure that are useful for creating an object-oriented design.
The design pattern identifies classes and instances, their roles, collaborations and responsibilities.
Each design pattern focuses on a particular object-oriented design problem or issue.
It describes when it applies, whether it can be applied in the presence of other design constraints, and the consequences and trade-offs of its use.
Home (http://st-www.cs.uiuc.edu/users/patterns/patterns.html).
["Design Patterns: Elements of Reusable Object-Oriented Software", Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides].