What is a pattern?
- 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]
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]