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

Next revision
Previous revision
collections:ood_principle_language [2012-12-10 15:48] – created christiancollections:ood_principle_language [2021-10-18 21:57] (current) – +++ restored +++ christian
Line 1: Line 1:
 ====== OOD Principle Language ====== ====== OOD Principle Language ======
- 
-:!: This is highly tentative and will change repeatedly :!: 
  
 General Principles: General Principles:
-  * [[principles:Keep It Simple Stupid]] +  * [[principles:Murphy's Law]] (ML) 
-  * [[principles:Generalization Principle]] +  * [[principles:Keep It Simple Stupid]] (KISS) 
-  * [[principles:Don't Repeat Yourself]]+  * [[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:Information Expert]] +  * [[principles:Model Principle]] (MP) 
-  * [[principles:Model Principle]] +  * [[principles:High Cohesion]] (HC) 
-  * [[principles:High Cohesion]] +  * [[principles:Encapsulate The Concept That Varies]] (ECV)
-  * [[principles:Low Coupling]]+
  
 +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)
  
 {{ :collections:ood_principle_language.png?500 |}} {{ :collections:ood_principle_language.png?500 |}}
Line 19: Line 34:
 ===== 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]]**                           ^^^^^^^ 
-^ ^     General Principles       ^^^        Modularization Principles      ^^^^ +        General Principles   ^^^^^^ 
-^{{:collections:ood_principle_language.png?100|}}     [[principles:Keep It Simple Stupid|KISS]]     [[principles:Don't Repeat Yourself|DRY]]     [[principles:Generalization Principle|GP]]     [[principles:Model Principle|MP]]     [[principles:Information Expert|IE]]     [[principles:Low Coupling|LC]]     [[principles:High Cohesion|HC]]   |+ [[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     ^^^^^^  
 +^  :::  |   [[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.1355150900.txt.gz · Last modified: 2013-05-19 22:09 (external edit)