principles:dependency_inversion_principle
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous 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] (current) – +++ restored +++ 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: */ | ||
Line 122: | Line 122: | ||
Discuss this wiki article and the principle on the corresponding [[talk: | Discuss this wiki article and the principle on the corresponding [[talk: | ||
+ |
principles/dependency_inversion_principle.1537954152.txt.gz · Last modified: 2018-09-26 11:29 by 62.228.239.6