ArjanCodes
32 minutes
GRASP (General Responsibility Assignment Software Patterns, from Craig Larman) is a set of nine principles for deciding which class or module should own which responsibility in object-oriented design: Creator, Information Expert, Controller, Protected Variations, Indirection, Low Coupling, High Cohesion, Polymorphism, and Pure Fabrication. They aim at decoupled, focused, changeable designs and transfer to modules and functions, making them more language-neutral than SOLID. They belong to software design and architecture.