====== OOD Principle Language ====== 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) 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) {{ :collections:ood_principle_language.png?500 |}} ===== Origin ===== {{page>resources:A Principle Language for Object-Oriented Design#reference}} ===== Further Reading ===== ===== Box ===== ^ **[[collections:OOD Principle Language]]** ^^^^^^^ ^ ^ General Principles ^^^^^^ ^ [[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]].