GRASP (object-oriented design): Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile web edit
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 2 templates: hyphenate params (3×); del |ref=harv (1×);
Line 46:
Solution: A use case controller should be used to deal with ''all'' system events of a use case, and may be used for more than one use case. For instance, for the use cases ''Create User'' and ''Delete User'', one can have a single class called ''UserController'', instead of two separate use case controllers.
 
The controller is defined as the first object beyond the UI layer that receives and coordinates ("controls") a system operation. The controller should delegate the work that needs to be done to other objects; it coordinates or controls the activity. It should not do much work itself. The GRASP Controller can be thought of as being a part of the application/service layer<ref>{{cite web |url=https://groups.yahoo.com/neo/groups/domaindrivendesign/conversations/messages/7582 |title=Application Layer like business facade? |work=Yahoo! Groups (domaindrivendesign) |accessdateaccess-date=15 July 2010}}</ref> (assuming that the application has made an explicit distinction between the application/service layer and the [[___domain layer]]) in an object-oriented system with common layers in an information system logical architecture.
 
'''Related Pattern or Principle''': [[Command_pattern|Command]], [[Facade_pattern|Facade]], [[Layer_(object-oriented_design)|Layers]], Pure Fabrication
Line 102:
{{refbegin}}
*{{cite book
|last=Larman|first=Craig|authorlinkauthor-link=Craig Larman
|title=Applying UML and Patterns &ndash; An Introduction to Object-Oriented Analysis and Design and Iterative Development
|origyearorig-year=2004
|edition=3rd
|publisher=[[Prentice Hall]]
Line 111:
|___location=New Jersey
|url=http://authors.phptr.com/larman/uml_ooad/index.html
}}
|ref=harv}}
{{refend}}