Browse Definitions :
Definition

GRASP (General Responsibility Assignment Software Patterns)

Contributor(s): Matthew Haughn

GRASP (General Responsibility Assignment Software Patterns) is a design pattern in object-oriented software development used to assign responsibilities for different modules of code.

As a tool for software developers, GRASP provides a means to solve organizational problems and offers a common way to speak about abstract concepts. The design pattern sets responsibilities for objects and classes in object-oriented program design.

GRASP with object-oriented programming classifies problems and their solutions together as patterns. With these problems and solutions well defined, they can be applied in other similar instances. GRASP assigns seven types of roles to classes and objects in order to make for clear delineation of responsibilities. These roles are:

  • Controller
  • Information Expert
  • Creator
  • High Cohesion
  • Low Coupling
  • Polymorphism
  • Protected Classes

GRASP is occasionally coupled with other design patterns such as SOLID. This combination makes for the convincing moniker of SOLID GRASP. Design patterns such as these help keep code simpler, more organized, more comprehensible, analyzable and reusable.

This was last updated in December 2018

Continue Reading About GRASP (General Responsibility Assignment Software Patterns)

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.

-ADS BY GOOGLE

File Extensions and File Formats

Powered by:

SearchCompliance

  • compliance audit

    A compliance audit is a comprehensive review of an organization's adherence to regulatory guidelines.

  • regulatory compliance

    Regulatory compliance is an organization's adherence to laws, regulations, guidelines and specifications relevant to its business...

  • Whistleblower Protection Act

    The Whistleblower Protection Act of 1989 is a law that protects federal government employees in the United States from ...

SearchSecurity

  • payload (computing)

    In computing, a payload is the carrying capacity of a packet or other transmission data unit. The term has its roots in the ...

  • passphrase

    A passphrase is a string of characters longer than the usual password (which is typically from four to 16 characters long) that ...

  • Web application firewall (WAF)

    A Web application firewall (WAF) is a firewall that monitors, filters or blocks traffic to and from a Web application. WAFs are ...

SearchHealthIT

SearchDisasterRecovery

SearchStorage

  • computational storage

    Computational storage is defined as an architecture that couples compute with storage in order to reduce data movement. In doing ...

  • data deduplication

    Data deduplication -- often called intelligent compression or single-instance storage -- is a process that eliminates redundant ...

  • public cloud storage

    Public cloud storage, also called storage-as-a-service or online storage is a service model that provides data storage on a ...

Close