Design Patterns

Design Pattern Categories

Each pattern has four essential elements:

  1. pattern name
    • provides vocabulary in discussing design
  2. problem
    • when to apply the pattern
  3. solution
    • elements, their relationships, responsibilities, and collaborations
  4. consequences(or trade-offs)
    • trade-offs and/or flexibility issues that may arise from implementation

Creational

  1. AbstractFactory
  2. Builder
  3. Factory Method
  4. Object Pool
  5. Prototype
  6. Singleton

Structural

  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Flyweight
  7. Proxy

Behavioral

  1. Chain of Responsibility
  2. Command
  3. Interpreter
  4. Iterator
  5. Mediator
  6. Memento
  7. Observer
  8. State
  9. Strategy
  10. Template Method
  11. Visitor

 

Beginner Patterns

  • Abstract Factory
  • Adapter
  • Composite
  • Decorator
  • Factory Method
  • Observer
  • Strategy
  • Template Method