Skip to content

Latest commit

 

History

History
16 lines (16 loc) · 835 Bytes

gamma_categorization.md

File metadata and controls

16 lines (16 loc) · 835 Bytes

Gamma Categorization

  • Design patterns are typically split into 3 categories
    • this is called Gamma Categorization after Erich Gamma, one of GoF authors

Creational Patterns

  • deal with creation (construction) of objects
  • explicit (calling an constructor) vs implicit (Dependency Injection, reflection, etc.)
  • wholesale (single statement) vs piecewise (step by step)

Structural Patterns

  • concerned with the structure (eg class members)
  • many patterns are wrappers that mimic the underlying class interface
  • stress the importance of good API design

Behavioral Patterns

  • they are all different, no central theme
  • using completely different object oriented mechanisms, so will have some overlap
  • generally most of the behavioral design patterns are unique in their approach
    • it solves a problem in a particular way