principles:rule_of_explicitness
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
principles:rule_of_explicitness [2013-03-17 17:36] – christian | principles:rule_of_explicitness [2021-09-02 12:38] – old revision restored (2021-05-19 11:23) 65.21.179.175 | ||
---|---|---|---|
Line 7: | Line 7: | ||
===== Context ===== | ===== Context ===== | ||
/* fill in contexts here: */ | /* fill in contexts here: */ | ||
- | * [[contexts: | + | * [[contexts: |
+ | * [[contexts: | ||
Line 17: | Line 18: | ||
===== Description ===== | ===== Description ===== | ||
+ | Solutions often differ in the level of explicitness. A feature can be implemented explicitly or it can be a side-effect of the implementation of another feature or a more general functionality. The same applies to module communication. A module can invoke another module directly or there can be various forms of indirections like events or observers. | ||
+ | RoE states that explicit solutions are better than implicit ones. Indirection, | ||
===== Rationale ===== | ===== Rationale ===== | ||
Line 80: | Line 83: | ||
* [[Generalization Principle]] (GP): RoE often results in specific solutions. Generality often requires stating something implicitly. | * [[Generalization Principle]] (GP): RoE often results in specific solutions. Generality often requires stating something implicitly. | ||
* [[Low Coupling]] (LC): Direct communication typically has the disadvantage of a higher coupling. Indirection reduces coupling but creates implicit/ | * [[Low Coupling]] (LC): Direct communication typically has the disadvantage of a higher coupling. Indirection reduces coupling but creates implicit/ | ||
+ | |||
==== Complementary Principles ==== | ==== Complementary Principles ==== | ||
Line 85: | Line 89: | ||
* [[Keep It Simple Stupid]] (KISS): Explicit solutions are often also simpler. | * [[Keep It Simple Stupid]] (KISS): Explicit solutions are often also simpler. | ||
* [[Murphy' | * [[Murphy' | ||
+ | * [[Model Principle]] (MP): RoE states that [[anti-patterns: | ||
+ | |||
==== Principle Collections ==== | ==== Principle Collections ==== | ||
Line 91: | Line 97: | ||
- | ===== Example | + | ===== Examples |
principles/rule_of_explicitness.txt · Last modified: 2021-10-18 22:06 by christian