principles:encapsulate_the_concept_that_varies
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:encapsulate_the_concept_that_varies [2020-10-12 16:09] – old revision restored (2013-02-11 13:08) 159.69.186.191 | principles:encapsulate_the_concept_that_varies [2020-10-12 16:10] – old revision restored (2013-02-10 18:27) 159.69.186.191 | ||
---|---|---|---|
Line 77: | Line 77: | ||
==== Complementary Principles ==== | ==== Complementary Principles ==== | ||
- | * [[Low Coupling]] (LC): ECV results | + | * [[Dependency Inversion Principle]] (DIP): ECV may result |
* [[Liskov Substitution Principle]] (LSP): ECV may result in the introduction of an abstract base class. Here it is important to get the abstraction right. Otherwise LSP may be violated. | * [[Liskov Substitution Principle]] (LSP): ECV may result in the introduction of an abstract base class. Here it is important to get the abstraction right. Otherwise LSP may be violated. | ||
* [[Generalization Principle]] (GP): Encapsulating a varying concept typically results in a more generally applicable solution. This is especially true when an abstract concept is encapsulated by introducing an interface or an abstract class. | * [[Generalization Principle]] (GP): Encapsulating a varying concept typically results in a more generally applicable solution. This is especially true when an abstract concept is encapsulated by introducing an interface or an abstract class. | ||
- | * [[Dependency Inversion Principle]] (DIP): ECV may result in the introduction of an abstract base class. Here DIP demands that other classes should only depend on this new abstract base class and not on the concrete subclasses. | + | |
==== Principle Collections ==== | ==== Principle Collections ==== | ||
principles/encapsulate_the_concept_that_varies.txt · Last modified: 2021-10-18 21:31 by christian