What is a Design Pattern?
What is a pattern?
Sources
- a recurring design problem that occurs in a specific context whose solution can be re-used [POSAV1 p. 8]
 - a 3-part rule giving a relationship between a context, a problem, and a solution [RTP p. 23]
 - patterns are discovered general solutions to design problems that provide a language to share them between designers [HFDP p. 32]
 - a pattern is a solution to a problem in context [HFDP p. 579]
 
Restatement
A Design Pattern is a re-usable design solution for a given context and problem.
What are the parts of a pattern?
- Context, Problem, Solution [POSAV1 p. 8]
 
- What is a problem?
- A problem is a set of competing forces that arise in a given context [POSAV1 p. 11]
 - The goal and constraints of the context [HFDP p. 579]
 
 - What are forces?
- goals and constraints [HFDP p. 582]
 
 - What is a solution?
- A general design that resolves the goal and constraints [HFDP p. 579]
 - A static structure of components as well as runtime behavior that balances the forces [POSAV1 p. 11]