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
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] (current) – +++ restored +++ 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]]   |
 ^  :::  ^   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.1630575623.txt.gz · Last modified: 2021-09-02 11:40 by 65.21.179.175