principles:dependency_inversion_principle
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
principles:dependency_inversion_principle [2018-09-26 11:29] – [Example 1: Furnace] 62.228.239.6 | principles:dependency_inversion_principle [2021-10-18 21:23] – old revision restored (2018-12-08 15:34) christian | ||
---|---|---|---|
Line 68: | Line 68: | ||
/* * [[wiki: | /* * [[wiki: | ||
- | [[wiki: | + | [[wiki: |
/* * [[wiki: | /* * [[wiki: | ||
Line 78: | Line 78: | ||
* [[Low Coupling]] (LC): LC aims at reducing the dependencies to other modules. One way to do so is to only depend on abstractions. DIP is about this aspect. | * [[Low Coupling]] (LC): LC aims at reducing the dependencies to other modules. One way to do so is to only depend on abstractions. DIP is about this aspect. | ||
+ | * [[Dependency Abstraction]] (DA) ((Andreas Zwinkau: [[http:// | ||
==== Specializations ==== | ==== Specializations ==== | ||
Line 104: | Line 104: | ||
==== Example 2: Client Repository ==== | ==== Example 2: Client Repository ==== | ||
- | Let's say the high-level module (your business logic), wants to be able to add or remove users to the database. Instead of it talking to the database directly, it defines an interface called | + | Let's say the high-level module (your business logic), wants to be able to add or remove users to the database. Instead of it talking to the database directly, it defines an interface called |
===== Description Status ===== | ===== Description Status ===== | ||
/* Choose one of the following and comment out the rest: */ | /* Choose one of the following and comment out the rest: */ |
principles/dependency_inversion_principle.txt · Last modified: 2021-10-18 21:23 by christian