class
- template method -- the skeleton of an algorithm
- interpreter -- to evaluate expressions
object
composition
- mediator -- provides indirection for loose coupling
- chain of responsibility -- connect objects to interact
- observer -- to handle dependencies
