Content deleted Content added
adding the missing option of a "facade controller" (see Larman) |
No edit summary |
||
Line 5:
'''General Responsibility Assignment Software Patterns''' (or '''Principles'''), abbreviated '''GRASP''', is a set of "nine fundamental principles in [[object-oriented design|object design]] and responsibility assignment"<ref name="Larman2001"/>{{rp|6}} first published by [[Craig Larman]] in his 1997{{cn|date=February 2021}} book ''Applying UML and Patterns''.
The different patterns and principles used in GRASP are controller, creator, indirection, information expert, low [[coupling (computer science)|coupling]], high [[cohesion (computer science)|cohesion]], [[Polymorphism (object-oriented programming)|polymorphism]], protected variations, and pure fabrication.<ref name="Umair2018"/> All these patterns solve some [[software]]
[[Craig Larman|Larman]] states that "the critical design tool for software development is a mind well educated in design principles. It is not [[Unified Modeling Language|UML]] or any other technology."<ref name="Larman2004"/>{{rp|272}} Thus, the GRASP principles are really a mental toolset, a learning aid to help in the design of object-oriented software.
|