Design Patterns

notes

it seems like “design patterns” are not exclusively restricted to ‘object-oriented-programming’, but this is the context in which I have learned such design.

there are three main categories of Design Patterns as decreed by the ‘Gang of Four’1 (the authors of a seminal work Design Patterns | Elements of Reusable Object-Oriented Sofware.

a. Creational Patterns b. Structural Patterns c. Behavioural Patterns

in turn, each of these contain more patterns:

a. Creational:

  1. Factory Method
  2. Abstract Factory
  3. Builder
  4. Prototype
  5. Singleton

b. Structural

  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Façade
  6. Flyweight
  7. Proxy

c. Behavioural:

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

Creational

Factory Method

Abstract Factory

Builder

Prototype

Singleton

Structural

Adapter

Bridge

Composite

Decorator

Façade

Flyweight

Proxy

Behavioural:

Interpreter

Template Method

Chain of Responsibility

Command

Iterator

Mediator

Memento

Observer

State

Strategy

Visitor


  1. Ralph Johnson, Richard Helm, Erich Gamma, and John Vlissides. ↩︎