The Design Pattern Catalog form
Design pattern catalog form representation was pioneered by Erich Gamma . In this category template is used to represent a design pattern. This pattern concentrates on helping intended users to create solution for their problems. It focuses on the structure and dynamics of the pattern itself without concentrating on when this pattern should be applied.[1]
This representation technique is often offered by object-oriented software design books as a teaching method for mastering applications of object-oriented patterns. [2]
Below is an example of such template from Coplien's Pattern Definition
The problem the pattern is trying to
solve
Refers to the definition of the problem.
Context
Framework in which a pattern solves a problem.
Forces, or tradeoffs
Refers to factors that lead to the problem (What forces are making this a problem?)
Solution
This describes the structure and behavior of the solution, which is
often tantamount of telling of how to build the solution
Examples
Examples are good for understanding and representing patterns.
Force resolution
A good pattern tells what forces it leaves unresolved or what other
patterns must be applied. It also refers to how the context is changed by the pattern.
Design rationale
This tells the user where the pattern came from, why it works, and why experts
utilize it.