GRASP
- Information expert: put the responsibility of handling inputs on the class that owns the inputs (coupling, encapsulation)
- Creator
- Low coupling
- Protected variations
- Indirection: compare with Adapter pattern
- Polymorphism: compare with Strategy pattern
- High cohesion: focus classes around one responsibility; compare with SOLID
- Pure fabrication: compare with Facade pattern
- Controller: an example of previous