User Tools

Site Tools


principles:tell_don_t_ask_information_expert

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
principles:tell_don_t_ask_information_expert [2021-09-02 12:51] – old revision restored (2021-05-11 22:31) 65.21.179.175principles:tell_don_t_ask_information_expert [2021-09-02 12:51] – old revision restored (2021-03-28 06:13) 65.21.179.175
Line 3: Line 3:
 ===== Variants and Alternative Names ===== ===== Variants and Alternative Names =====
  
-  * Information Expert or Expert in ((Craig Larman: //Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design and Iterative Development//)) +  * Expert 
-  * Do It Myself in ((Peter Coad: //Object Models: Strategies, Patterns and Applications// -- as stated in Craig Larman: //Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design and Iterative Development//, p. 297)) +  * Do It Myself
-  * Tell, don't Ask in ((Andrew Hunt and David Thomas: //[[http://www.ccs.neu.edu/research/demeter/related-work/pragmatic-programmer/jan_03_enbug.pdf|The Art of Enbugging]]// -- probably not the original source of this wording(?) ))+
  
  
Line 57: Line 56:
  
   * [[More Is More Complex]] (MIMC): Adhering to TdA/IE sometimes results in adding further methods.   * [[More Is More Complex]] (MIMC): Adhering to TdA/IE sometimes results in adding further methods.
 +  * [[Principle of Separate Understandability]] (PSU): Assigning responsibilities using TdA/IE bears the danger of violating PSU as responsibilities are assigned based on data availability instead of separate understandability.
  
 ==== Complementary Principles ==== ==== Complementary Principles ====
  
   * [[Model Principle]] (MP): TdA/IE tells how to distribute functionality among the natural classes which are created according to the Model Principle.   * [[Model Principle]] (MP): TdA/IE tells how to distribute functionality among the natural classes which are created according to the Model Principle.
-  * [[Information Hiding/Encapsulation]] (IH/E): Assigning responsibilities to objects using Information Expert may accidentally break encapsulation. It typically does not but it has to be considered. Furthermore TdA is about not having getter methods returning constituent parts of a module. Encapsulation can be another reason for that.+  * [[Information Hiding/Encapsulation]] (IH/E): Assigning responsibilities to objects using Information Expert may accidentally break encapsulation. It typically does not but it has to be considered.
  
 ==== Principle Collections ==== ==== Principle Collections ====
principles/tell_don_t_ask_information_expert.txt · Last modified: 2021-10-18 21:42 by christian