"A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in object-oriented systems."
&mdash Gang of Four; DesignPatterns
"Each pattern is a three-part rule, which expresses a relation between a certain context, a problem, and a solution"
&mdash Christopher Alexander


Pattern Languages are Patterns Too

  1. Problem
  2. Context
  3. Solution
Example