- by Erich Gamma, one of GoF(gang of four) authors
- deal with the creation(construction) of objects
- explicit(constructor) vs. implicit(DI, reflection, etc.)
- wholesale(single statement) vs. piecewise(step by step)
- concerned with the structure(e.g. class members)
- many patterns are wrappers that mimic the underlying class interface
- stress the importance of good API design
- No central theme
- solve particular problem
- solve in particular way
- behave particular set of concern
- SOLID