Design Patterns
"Each pattern describes a problem which occurs over and over again in
our environment, and then describes the core of the solution to that
problem, in such a way that you can use this solution a million times over,
without ever doing it the same way twice."
- Christopher Alexander
-  Describe concepts, not code
 
-  Finer-grained than frameworks 
 
-  Typical description 
 
	
	-  a pattern name such as  Singleton or  Reactor used to identify the pattern,
 
	-  an illustration of its structure using a UML diagram,
 
	-  a classification of the pattern as e.g. creational, behavioural, or structural,
 
	-  an illustration of the design problem that provides the motivation to use the pattern,
 
	-  an outline of the situations where the pattern can be applied,
 
	-  an outline of the pattern's participants,
 
	-  a description of how the pattern supports its objectives, and
 
	-  examples and prescriptive guidelines towards the pattern's implementation.