Mechanism: Name

(The mechanism's name conveys the essence of the pattern succinctly. A good name is vital, because it will become part of your design vocabulary. )


A short statement that answers the following questions: What does the mechanism do? What is its rationale and intent? What particular issue or problem does it address?

Also Known As

Other well-known names for the mechanism, if any.


A scenario that illustrates a problem and how the different elements of the mechanism solve the problem. The scenario will help you understand the more abstract description of the mechanism below.


What are the situations in which the mechanism can be applied? What are examples of poor designs that the mechansim can address? How can you recognize these situations?


The elements participating in the mechanism and their responsibilities.


How the participants collaborate to carry out their responsibilities.


How does the mechanism support its objectives? What are the trade-offs and results of using the pattern? What aspect of system structure does it let you vary independently?

  1. Description of consequence


What pitfalls, hints, or techniques should you be aware of when implementing the mechanism? Are there language-specific issues?

  1. Description of Bullet

Known Uses

Examples of the mechanism found in real systems. Try to include at least two examples from different domains.

Related Mechanisms

What mechanisms are closely related to this one? What are the important differences? With which other mechanisms should this one be used?

Back to the Adaptation home page. This page maintained by Peyman Oreizy (peymano at Last updated on [an error occurred while processing this directive].