Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:softwareentwicklung:ws2017:27:index

27. Dependency-Inversion-Prinzip

Themen
Das Dependency-Inversion-Prinzip
Beispiele für seinen Einsatz
Bedeutung im Gesamtkontext der Software-Architektur
Folien
PDF


Zentrale Aspekte

  • Die Kernaspekte einer Anwendung sollten nicht von ihrer Peripherie abhängen – sondern beide von Abstraktionen.
  • Anwendungsentwicklung zielt auf die zugrundeliegenden Abstraktionen und ihre stabilen, abstrakten Schnittstellen.
  • Anwendungen bestehen aus klar getrennten Schichten, die Dienste über definierte Schnittstellen bereitstellen.
  • Die Anwendungslogik steht im Zentrum. Datenquellen und Nutzerschnittstellen sind peripher.
  • Umkehr der Abhängigkeiten sorgt für Unabhängigkeit und intrinsische Testbarkeit der einzelnen Schichten.

Weiterführende Literatur

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Wie alle anderen SOLID-Prinzipien wurde das DIP von Robert C. Martin prägnant formuliert. Vergleiche dazu Kapitel 11 in {[martin-rc-2003]} und Kapitel 11 in {[martin-rc-2018]}. Das Pendant auf höherer architektonischer Ebene, das Zusammenspiel von Stable-Dependencies- und Stable-Abstractions-Prinzip, wird von Robert C. Martin ebenda in späteren Kapiteln formuliert.

Die dem DIP zugrunde liegenden Entwurfsmuster, insbesondere „Abstract Factory“, finden sich im Buch der „Gang of Four“ {[gamma-e-1995]} wieder.

<bibtex bibliography> sort=true </bibtex>

de/lehre/softwareentwicklung/ws2017/27/index.txt · Zuletzt geändert: von 127.0.0.1