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 [2013-02-02 13:16] – external edit 127.0.0.1collections:ood_principle_language [2021-10-18 21:57] – old revision restored (2014-07-23 11:08) christian
Line 2: Line 2:
  
 General Principles: General Principles:
-  * [[principles:Murphy's Law]] +  * [[principles:Murphy's Law]] (ML) 
-  * [[principles:Keep It Simple Stupid]] +  * [[principles:Keep It Simple Stupid]] (KISS) 
-  * [[principles:Don't Repeat Yourself]] +  * [[principles:More Is More Complex]] (MIMC) 
-  * [[principles:Generalization Principle]] +  * [[principles:Don't Repeat Yourself]] (DRY) 
-  * [[principles:Uniformity Principle]] +  * [[principles:Generalization Principle]] (GP) 
-  * [[principles:Model Principle]]+  * [[principles:Rule of Explicitness]] (RoE)
  
 Modularization Principles: Modularization Principles:
-  * [[principles:Information Expert]] +  * [[principles:Model Principle]] (MP) 
-  * [[principles:High Cohesion]] +  * [[principles:High Cohesion]] (HC) 
-  * [[principles:Encapsulate The Concept That Varies]]+  * [[principles:Encapsulate The Concept That Varies]] (ECV)
  
 Module Communication Principles: Module Communication Principles:
-  * [[principles:Low Coupling]] +  * [[principles:Tell, don't Ask/Information Expert]] (TdA/IE) 
-  * [[principles:Dependency Inversion Principle]]+  * [[principles:Low Coupling]] (LC) 
 +  * [[principles:Dependency Inversion Principle]] (DIP)
  
 Interface Design Principles Interface Design Principles
-  * [[principles:Easy to Use and Hard to Misuse]] +  * [[principles:Easy to Use and Hard to Misuse]] (EUHM) 
-  * [[principles:Principle of Least Surprise]] +  * [[principles:Principle of Least Surprise]] (PLS) 
-  * [[principles:Fail Fast]]+  * [[principles:Uniformity Principle]] (UP)
  
 Internal Module Design Principles Internal Module Design Principles
-  * [[principles:Information Hiding/Encapsulation]] +  * [[principles:Information Hiding/Encapsulation]] (IH/E) 
-  * [[principles:Invariant Avoidance Principle]] +  * [[principles:Invariant Avoidance Principle]] (IAP) 
-  * [[principles:Liskov Substitution Principle]] +  * [[principles:Liskov Substitution Principle]] (LSP) 
-  * [[principles:Principle of Separate Understandability]]+  * [[principles:Principle of Separate Understandability]] (PSU)
  
 {{ :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   ^^^^^^   Modularization   ^^^ +      ^   General Principles   ^^^^^^ 
-^  :::  |   [[principles:Murphy's Law|ML]]     [[principles:Keep It Simple Stupid|KISS]]        [[principles:Don't Repeat Yourself|DRY]]     [[principles:Generalization Principle|GP]]     [[principles:Uniformity Principle|UP]]     [[principles:Model Principle|MP]]   |   [[principles:Information Expert|IE]]     [[principles:High Cohesion|HC]]     [[principles:Encapsulate the Concept that Varies|ECV]]   | +^  [[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]]      
-^  :::  ^   Module Communication   ^^   Interface Design   ^^^   Internal Module Design   ^^^^ +^  :::  ^   Modularization Principles     ^^^^^^  
-^  :::  |   [[principles:Low Coupling|LC]]     [[principles:Dependency Inversion Principle|DIP]]     [[principles:Easy to Use and Hard to Misuse|EUHM]]     [[principles:Principle of Least Surprise|PLS]]     [[principles:Fail Fast|FF]]     [[principles:Information Hiding/Encapsulation|IH/E]]     [[principles:Invariant Avoidance Principle|IAP]]     [[principles:Liskov Substitution Principle|LSP]]      [[principles:Principle of Separate Understandability|PSU]]   |+^  :::  |   [[principles:Model Principle|MP]]     [[principles:High Cohesion|HC]]     [[principles:Encapsulate the Concept that Varies|ECV]]   | 
 +^  :::  ^   Module Communication Principles      ^^^^^^ 
 +^  :::  |   [[principles:Tell, don't Ask/Information Expert|TdA/IE]]   |   [[principles:Low Coupling|LC]]     [[principles:Dependency Inversion Principle|DIP]]   |    
 +^  :::  ^   Interface Design Principles      ^^^^^^ 
 +^  :::  |   [[principles:Easy to Use and Hard to Misuse|EUHM]]     [[principles:Principle of Least Surprise|PLS]]     [[principles:Uniformity Principle|UP]]   
 +^  :::  ^   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]]   | 
 + 
 + 
 + 
 +===== 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