Pattern Catalog
This page is a compact navigation aid, not a substitute for studying context and consequences.
GoF patterns
Creational
| Pattern |
Design intent |
| Abstract Factory |
create families of related objects without concrete-class coupling |
| Builder |
separate construction process from representation |
| Factory Method |
let an extension point decide what concrete object is created |
| Prototype |
create new objects by copying configured examples |
| Singleton |
constrain instance count and provide controlled access—use cautiously |
Structural
| Pattern |
Design intent |
| Adapter |
translate one interface into another expected by a client |
| Bridge |
separate abstraction and implementation dimensions |
| Composite |
represent part–whole hierarchies uniformly |
| Decorator |
add responsibilities through composition |
| Facade |
provide a simplified boundary to a subsystem |
| Flyweight |
share intrinsic state across many fine-grained objects |
| Proxy |
control access to another object |
Behavioral
| Pattern |
Design intent |
| Chain of Responsibility |
pass a request through potential handlers |
| Command |
represent a request/action as an object |
| Interpreter |
represent and interpret a small language/grammar |
| Iterator |
traverse a collection without exposing representation |
| Mediator |
centralize complex collaboration policy |
| Memento |
capture and restore internal state safely |
| Observer |
notify dependents of state/events |
| State |
vary behavior with explicit state objects |
| Strategy |
encapsulate interchangeable algorithms/policies |
| Template Method |
define algorithm skeleton with overridable steps |
| Visitor |
add operations across a stable element hierarchy |
Pattern comparison prompts
For any two patterns that look similar, compare:
- intent;
- forces;
- participants;
- runtime collaboration;
- axis of expected change;
- liabilities;
- refactoring path into/out of the pattern.