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 [2013-02-05 18:05] – -FF christiancollections:ood_principle_language [2021-10-18 21:57] (current) – +++ restored +++ 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: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: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.1360083935.txt.gz · Last modified: 2013-05-19 22:09 (external edit)