GRASP

GRASP is een Engels acroniem dat staat voor Generalized Responsibility Assignment Software Patterns/Principles. Het bestaat uit 9 richtlijnen die kunnen worden gebruikt om in objectgeoriënteerde systemen verantwoordelijkheden toe te kennen aan klassen of objecten. Elke richtlijn behandelt een combinatie van een veelvoorkomend probleem en een algemeen toepasbare oplossing voor dat probleem met betrekking tot het ontwerp van softwaresystemen.

Voor de laatste letter van acroniem GRASP wordt zowel Patterns (patronen) als Principles (richtlijnen) gebruikt. De benaming 'richtlijn' moet benadrukken dat het hier gaat om een hoger abstractieniveau dan een ontwerppatroon zoals beschreven door de "Gang of Four (GOF)". Bovendien geeft de term 'richtlijn' aan dat het om een advies gaat. Tijdens het ontwerpproces zal namelijk soms een afweging gemaakt moeten worden tussen meerdere richtlijnen. De GOF Patterns zijn ontwerpregels. Het gaat hier niet om een vrijblijvende keuze. De praktijk heeft uitgewezen dat het zo moet. Maar, uiteraard is uiteindelijk het mechanisme belangrijker dan de benaming.

De 9 richtlijnen zijn:

  1. Creator
  2. Information Expert
  3. Low Coupling
  4. High Cohesion
  5. Controller
  6. Polymorphism
  7. Pure Fabrication
  8. Indirection
  9. Protected Variations

Developed by StudentB