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 8: Line 8:
   * [[principles:Generalization Principle]] (GP)   * [[principles:Generalization Principle]] (GP)
   * [[principles:Rule of Explicitness]] (RoE)   * [[principles:Rule of Explicitness]] (RoE)
-  * [[principles:Model Principle]] (MP) 
  
 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 25: 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 31: 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:Rule of Explicitness|RoE]]     [[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]]   |
-^  :::  ^   Internal Module Design Principles      ^^^^^^^+^  :::  ^   Internal Module Design Principles      ^^^^^^
 ^  :::  |   [[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