User Tools

Site Tools


collections:ood_principle_language

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
Last revisionBoth sides next revision
collections:ood_principle_language [2021-09-02 11:40] – old revision restored (2021-05-19 10:28) 65.21.179.175collections:ood_principle_language [2021-10-18 21:57] – old revision restored (2014-07-23 11:08) christian
Line 7: Line 7:
   * [[principles:Don't Repeat Yourself]] (DRY)   * [[principles:Don't Repeat Yourself]] (DRY)
   * [[principles:Generalization Principle]] (GP)   * [[principles:Generalization Principle]] (GP)
-  * [[principles:Model Principle]] (MP)+  * [[principles:Rule of Explicitness]] (RoE)
  
 Modularization Principles: Modularization Principles:
-  * [[principles:Tell, don't Ask/Information Expert]] (TdA/IE)+  * [[principles:Model Principle]] (MP)
   * [[principles:High Cohesion]] (HC)   * [[principles:High Cohesion]] (HC)
   * [[principles:Encapsulate The Concept That Varies]] (ECV)   * [[principles:Encapsulate The Concept That Varies]] (ECV)
  
 Module Communication Principles: Module Communication Principles:
 +  * [[principles:Tell, don't Ask/Information Expert]] (TdA/IE)
   * [[principles:Low Coupling]] (LC)   * [[principles:Low Coupling]] (LC)
   * [[principles:Dependency Inversion Principle]] (DIP)   * [[principles:Dependency Inversion Principle]] (DIP)
Line 24: Line 25:
  
 Internal Module Design Principles Internal Module Design Principles
-  * [[principles:Information Hiding/Encapsulation]] (IH/E+  * [[principles:Information Hiding/Encapsulation]] (IH/E)
   * [[principles:Invariant Avoidance Principle]] (IAP)   * [[principles:Invariant Avoidance Principle]] (IAP)
   * [[principles:Liskov Substitution Principle]] (LSP)   * [[principles:Liskov Substitution Principle]] (LSP)
Line 30: Line 31:
  
 {{ :collections:ood_principle_language.png?500 |}} {{ :collections:ood_principle_language.png?500 |}}
-:!: graphic not updated, yet :!: 
  
 ===== Origin ===== ===== Origin =====
  
-Christian Rehn//A Principle Language for Object-Oriented Design//, Master's thesis +{{page>resources:A Principle Language for Object-Oriented Design#reference}}
 ===== Further Reading ===== ===== Further Reading =====
  
 ===== Box ===== ===== Box =====
  
-^ [[collections:OOD Principle Language|{{:collections:ood_principle_language.png?nolink&200|}}]] ^                               **[[collections:OOD Principle Language]]**                           ^^^^^^ +^                               **[[collections:OOD Principle Language]]**                           ^^^^^^^ 
- :::  ^   General Principles   ^^^^^^ +      ^   General Principles   ^^^^^^ 
-^  :::  |   [[principles:Murphy's Law|ML]]     [[principles:Keep It Simple Stupid|KISS]]        [[principles:More Is More Complex|MIMC]]     [[principles:Don't Repeat Yourself|DRY]]     [[principles:Generalization Principle|GP]]     [[principles:Model Principle|MP]]     +^  [[collections:OOD Principle Language|{{:collections:ood_principle_language.png?nolink&220|}}]]    [[principles:Murphy's Law|ML]]     [[principles:Keep It Simple Stupid|KISS]]        [[principles:More Is More Complex|MIMC]]     [[principles:Don't Repeat Yourself|DRY]]     [[principles:Generalization Principle|GP]]     [[principles:Rule of Explicitness|RoE]]     
 ^  :::  ^   Modularization Principles     ^^^^^^  ^  :::  ^   Modularization Principles     ^^^^^^ 
-^  :::  |   [[principles:Tell, don't Ask/Information Expert|TdA/IE]]     [[principles:High Cohesion|HC]]     [[principles:Encapsulate the Concept that Varies|ECV]]   |+^  :::  |   [[principles:Model Principle|MP]]     [[principles:High Cohesion|HC]]     [[principles:Encapsulate the Concept that Varies|ECV]]   |
 ^  :::  ^   Module Communication Principles      ^^^^^^ ^  :::  ^   Module Communication Principles      ^^^^^^
-^  :::  |   [[principles:Low Coupling|LC]]     [[principles:Dependency Inversion Principle|DIP]]   |+^  :::  |   [[principles:Tell, don't Ask/Information Expert|TdA/IE]]   |   [[principles:Low Coupling|LC]]     [[principles:Dependency Inversion Principle|DIP]]     
 ^  :::  ^   Interface Design Principles      ^^^^^^ ^  :::  ^   Interface Design Principles      ^^^^^^
 ^  :::  |   [[principles:Easy to Use and Hard to Misuse|EUHM]]     [[principles:Principle of Least Surprise|PLS]]     [[principles:Uniformity Principle|UP]]   | ^  :::  |   [[principles:Easy to Use and Hard to Misuse|EUHM]]     [[principles:Principle of Least Surprise|PLS]]     [[principles:Uniformity Principle|UP]]   |
Line 52: Line 51:
 ^  :::  |   [[principles:Information Hiding/Encapsulation|IH/E]]     [[principles:Invariant Avoidance Principle|IAP]]     [[principles:Liskov Substitution Principle|LSP]]      [[principles:Principle of Separate Understandability|PSU]]   | ^  :::  |   [[principles:Information Hiding/Encapsulation|IH/E]]     [[principles:Invariant Avoidance Principle|IAP]]     [[principles:Liskov Substitution Principle|LSP]]      [[principles:Principle of Separate Understandability|PSU]]   |
  
 +
 +
 +===== Discussion =====
 +
 +Discuss this wiki article and the collection on the corresponding [[talk:collections:OOD Principle Language|talk page]].
collections/ood_principle_language.txt · Last modified: 2021-10-18 21:57 by christian