GRASP (object-oriented design): Difference between revisions

Content deleted Content added
m links, stub
No edit summary
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.
 
Examples of different patterspatterns/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.