Design Patterns in C++

3 types of design patterns

  • Creational
    • describe ways of creating objects
  • Structural
    • deal with how objects are built into larger structures
  • Behavioral
    • relate to runtime behavior

2 classes of design patterns

Class Based

- Creational:
    - Factory Method
- Structural:
    - Class Adapter
- Behavioral:
    - Interpreter 
    - Template Method

Object Based

- Creational: 
    - Abstract Factory
    - Builder
    - Prototype
    - Singleton
- Structural:
    - Adapter
    - Bridge
    - Composite
    - Decorator
    - Façade
    - Flyweight
    - Proxy
- Behavioral:
    - Chain of Responsibility
    - Command
    - Iterator
    - Mediator
    - Memento
    - Observer
    - State / Strategy Visitor