What is a design pattern?
A pattern has four components:
A name
A problem
A solution
Consequences