1. Information expert: put the responsibility of handling inputs on the class that owns the inputs (coupling, encapsulation)
  2. Creator
  3. Low coupling
  4. Protected variations
  5. Indirection: compare with Adapter pattern
  6. Polymorphism: compare with Strategy pattern
  7. High cohesion: focus classes around one responsibility; compare with SOLID
  8. Pure fabrication: compare with Facade pattern
  9. Controller: an example of previous