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]