GRASP
GRASP (General Responsibility Assignment Software Patterns (or Principles))
- Creator, en klasse skal oprette objekter, som den bruger, indeholder eller har tæt relation til.
- Controller, en klasse som håndterer systemhændelser og koordinerer mellem lag.
- Low coupling, en klasse bør have så få afhængigheder som muligt.
- High cohesion, en klasse bør have et klart og fokuseret ansvar.
- Indirection, indfører et mellemled for at reducere afhængigheder.
- Pure Fabrication, en kunstig klasse for at samle teknisk ansvar, som ikke hører naturligt til i domænet.