| Chain of Responsibility |
Request delegated to the responsible service provider |
| Command |
Request as first-class object |
| Interpreter |
Language interpreter for a small grammar |
| Iterator |
Aggregate elements are accessed sequentially |
| Mediator |
Mediator coordinates interactions between its associates |
| Memento |
Snapshot captures and restores object states privately |
| Observer |
Dependents update automatically when a subject changes |
| State |
Object whose behavior depends on its state |
| Strategy |
Abstraction for selecting one of many algorithms |
| Template Method |
Algorithm with some steps supplied by a derived class
Define the skeleton of an algorithm
Defer some steps to subclasses
Refactor common behavior among subclasses to avoid code duplication
|
| Visitor |
Operations applied to elements of an heterogeneous object structure |