100 likes | 283 Views
Anthropomorphism. From the Merriam-Webster’s online dictionary (www.m-w.com): Main Entry: an·thro·po·mor·phism Pronunciation: -"fi-z&m Function: noun Date: 1753 : an interpretation of what is not human or personal in terms of human or personal characteristics : HUMANIZATION. Anthropomorphism.
E N D
Anthropomorphism From the Merriam-Webster’s online dictionary (www.m-w.com): Main Entry: an·thro·po·mor·phismPronunciation: -"fi-z&mFunction: nounDate: 1753: an interpretation of what is not human or personal in terms of human or personal characteristics : HUMANIZATION 91.3913 R. McFadyen
Anthropomorphism Anthropomorphism: Object-oriented programming works like human organizations. Each object will communicate with another one by sending messages. So the software objects work by just sending those messages. 91.3913 R. McFadyen
Detailed object design is usually done from the point of view of: Objects have responsibilities Objects collaborate Similar to how we conceive of people In RDD we do object design such that we will ask questions such as: What are the responsibilities of this object? Who does it collaborate with? Responsibility-Driven Design (RDD) 91.3913 R. McFadyen
Figure 3.1 on page 31 - Architectural Layers 91.3913 R. McFadyen
What object should receive this message? What objects should interact to fulfill the request, and how? Sample Problem 91.3913 R. McFadyen
How do the objects interact in order for changes in the data to be reflected in the two displays? Sample Problem Graphic Display List Display Data User 91.3913 R. McFadyen
Patterns • idea was first put forth by Christopher Alexander (1977) in his work on architectural design principles • a pattern is a named problem/solution pair that can be applied in new contexts • advice from previous designers to help designers in new situations • rules of thumb - not new ideas • There are many books on the subject • Design Patterns by Erich Gamma et al • Java Design Patterns: a tutorial, by James Cooper 91.3913 R. McFadyen
Guiding principles to help us assign responsibilities GRASP: General Responsibility Assignment Software Patterns Very very fundamental, simple, basic principles of object design. GRASP Patterns Fundamental Principles of Object Design 91.3913 R. McFadyen