- Creational: deal with object creation
- Explicit (constructor) vs Implicit (DI, reflection)
-
- Builder
-
- Factory
-
- Prototype: partially construct object -> deep clone it -> customize result
-
- Singleton: good for DB repo, Object factory
- Structural:
- concern about structure of class members
- a lot of them are wrappers around classes
- stress the importance of good API design
- Behavioral: deal with communication between objects
- Concurrency: deal with multi-threaded paradigms