GRASP (object-oriented design)

General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, is a set of "nine fundamental principles in object design and responsibility assignment" first published by Craig Larman in his 1997 book Applying UML and Patterns. Larman states that "the critical design tool for software development is a mind well educated in design principles. It is not UML or any other technology." Thus, the GRASP principles are really a mental toolset, a learning aid to help in the design of object-oriented software.

Comment
enGeneral Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, is a set of "nine fundamental principles in object design and responsibility assignment" first published by Craig Larman in his 1997 book Applying UML and Patterns. Larman states that "the critical design tool for software development is a mind well educated in design principles. It is not UML or any other technology." Thus, the GRASP principles are really a mental toolset, a learning aid to help in the design of object-oriented software.
Has abstract
enGeneral Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP, is a set of "nine fundamental principles in object design and responsibility assignment" first published by Craig Larman in his 1997 book Applying UML and Patterns. The different patterns and principles used in GRASP are controller, creator, indirection, information expert, low coupling, high cohesion, polymorphism, protected variations, and pure fabrication. All these patterns solve some software problem common to many software development projects. 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 UML or any other technology." Thus, the GRASP principles are really a mental toolset, a learning aid to help in the design of object-oriented software.
Is primary topic of
GRASP (object-oriented design)
Label
enGRASP (object-oriented design)
Link from a Wikipage to another Wikipage
Anemic domain model
Category:Programming principles
Category:Software design
Cohesion (computer science)
Command pattern
Computer programming
Coupling (computer science)
Craig Larman
Design pattern (computer science)
Design Patterns (book)
Domain-driven design
Domain layer
Facade pattern
Factory pattern
Interface (computer science)
Layer (object-oriented design)
Object-oriented design
Polymorphism (computer science)
Polymorphism (object-oriented programming)
Software
Software development
SOLID (object-oriented design)
Unified Modeling Language
Use case
User Interface
SameAs
Általános felelősség
Grasp
GRASP
GRASP
GRASP
GRASP
GRASP
GRASP
GRASP
GRASP
GRASP (disseny orientat a objectes)
GRASP (object-oriented design)
GRASP (padrão orientado a objetos)
GRASP (programmation)
GRASP (物件導向設計)
m.0ctl 3
Q1486676
ViuX
SeeAlso
Closed principle
Factory pattern
Information hiding
Open
Service (systems architecture)
Subject
Category:Programming principles
Category:Software design
WasDerivedFrom
GRASP (object-oriented design)?oldid=1100772161&ns=0
WikiPageLength
10950
Wikipage page ID
4907231
Wikipage revision ID
1100772161
WikiPageUsesTemplate
Template:Cn
Template:Main
Template:More footnotes
Template:Primary
Template:Rp
Template:See also
Template:Short description