Why use patterns?

Patterns help you learn from other’s successes, instead of your own failures

Mark Johnson (cited by B. Eckel)

An additional layer of abstraction

Insightful and clever way to solve a particular class of problems

Algorithmic form of patterns

IF   you find yourself in CONTEXT

     for example EXAMPLES,

     with PROBLEM,

     entailing FORCES

THEN for some REASONS,

     apply DESIGN FORM AND/OR RULE

     to construct SOLUTION

     leading to NEW CONTEXT and

                OTHER PATTERNS