- Delegate work to helper objects.
- Use objects from different concrete classes to get different implementations for helper methods.
- strategy, state, etc.
- (from refactoring.guru) object A contains objects B; B can live without A.
- (from refactoring.guru) object A consists of objects B; A manages life cycle of B; B can’t live without A.
- State
- Strategy
- Decorator