principles:dependency_inversion_principle
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:dependency_inversion_principle [2013-02-25 17:13] – origin, further reading, statement christian | principles:dependency_inversion_principle [2021-09-02 19:24] – old revision restored (2021-05-11 21:48) 65.21.179.175 | ||
---|---|---|---|
Line 10: | Line 10: | ||
===== Principle Statement ===== | ===== Principle Statement ===== | ||
- | |||
- | Depend on abstractions.((Robert C. Martin: //Agile Software Development, | ||
Line 21: | Line 19: | ||
===== Strategies ===== | ===== Strategies ===== | ||
- | |||
- | * Apply the [[patterns: | ||
- | * Apply other forms of [[glossary: | ||
- | * Have an '' | ||
- | * Declare only '' | ||
- | |||
- | |||
- | ===== Caveats ===== | ||
- | |||
- | It is normally not helpful to apply DIP to [[patterns: | ||
- | |||
- | Furthermore note that applying [[patterns: | ||
- | |||
- | See section [[#contrary principles]]. | ||
===== Origin ===== | ===== Origin ===== | ||
- | |||
- | Robert C. Martin: // | ||
Line 66: | Line 48: | ||
* [[Model Principle]] (MP): DIP demands having abstractions. MP tells how these abstractions can look like. | * [[Model Principle]] (MP): DIP demands having abstractions. MP tells how these abstractions can look like. | ||
+ | * [[Encapsulate the Concept that Varies]] (ECV): | ||
==== Principle Collections ==== | ==== Principle Collections ==== | ||
Line 83: | Line 66: | ||
===== Further Reading ===== | ===== Further Reading ===== | ||
- | * Robert C. Martin: // | + | |
- | * Robert C. Martin: //Agile Software Development, | + | |
- | * [[http:// | + | |
- | * [[wiki> | + | |
- | * [[wp> | + |
principles/dependency_inversion_principle.txt · Last modified: 2021-10-18 21:23 by christian