GRASP 101

What does GRASP do?

GRASP helps us decide which responsibility should be assigned to which object or class, defining the blue prints for those objects.

GRASP Principles:

  1. Creator - Factory, Builder, Object Mother – what creates the object
  2. Information Expert - Single Responsiblitly principle, who has responsibility of what
  3. Low Coupling - dependent, used in one place, minimize dependency on other classes
  4. High Cohesion - all working to accomplish same goal, not one time use
  5. Controller - delagates the work and coordinates
  6. Indirection - avoids a direct coupling between two or more elements
  7. Polymorphism - many different implementations that respond the same, helps decide which object is responsible for handling diff elements.
  8. Protected Variations - immutablity, avoid conditions on types to let polymorphism do its thing, protect the way objects change in its controlled space
  9. Pure Fabrication - creating something out of the blue

–// _config.yml //–

Written on October 2, 2019