GRASP (object-oriented Design)

General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, consists of guidelines for assigning responsibility to classes and objects in object-oriented design.

The different patterns and principles used in GRASP are: Controller, Creator, Indirection, Information Expert, High Cohesion, Low Coupling, Polymorphism, Protected Variations, and Pure Fabrication. All these patterns answer some software problem, and in almost every case these problems are common to almost every software development project. These techniques have not been invented to create new ways of working, but to better document and standardize old, tried-and-tested programming principles in object-oriented design.

Larman states that "the critical design tool for software development is a mind well educated in design principles. It is not the UML or any other technology." Thus, GRASP is really a mental toolset, a learning aid to help in the design of object-oriented software.

Famous quotes containing the word grasp:

    “O father! O father! now, now, keep your hold,
    The Erl-King has seized me—his grasp is so cold!

    Sore trembled the father; he spurr’d thro’ the wild,
    Clasping close to his bosom his shuddering child;
    He reaches his dwelling in doubt and in dread,
    But, clasp’d to his bosom, the infant was dead.
    Johann Wolfgang Von Goethe (1799–1832)