GRASP (object-oriented design): Difference between revisions

Content deleted Content added
m links, stub
Line 1:
'''GRASP stands for General Responsibility Assignment Software Patterns''' (or sometimes '''Principles'''). It is used in [[object oriented design]], and gives guidelines for assigning responsibility to classes and objects.
== General Overview ==
 
'''GRASP stands for General Responsibility Assignment Software Patterns''' (or sometimes Principles). It is used in object oriented design, and gives guidelines for assigning responsibility to classes and objects. Examples of different patters/principles used in GRASP are: Information Expert, Creator, Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, Protected Variations. All these patterns answer some [[software]] problem, and in most every case these problems are common to most every [[software development]] project, thus they don't exist to facilitate new information but to better document and standardize old, tried-and-true [[programming]] principles in object oriented design.

"The critical design tool for software development is a mind well educated in design principles. It is not the UML or any other technology" (Larman, Craig. ''Applying UML and Patterns - Third Edition''. [http://authors.phptr.com/larman/uml_ooad/index.html]). Thus, GRASP is really just a toolset, a learning aid to help in the design of object oriented software.
 
{{Soft-eng-stub}}