Skip to content

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:

  1. intent;
  2. forces;
  3. participants;
  4. runtime collaboration;
  5. axis of expected change;
  6. liabilities;
  7. refactoring path into/out of the pattern.