What is a Design Pattern?

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?
  • 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]