empros gmbh - process & information management services
1009-chatExperience is the hardest kind of teacher.
It gives you the test first and the lesson afterward.

-Susan Ruth

Dependency-Inversion Principle

Heuristik

Abstraktionen sollten nicht von Details abhängen. Details sollten von Abstraktionen abhängen.

Erklärung

Das von Robert C. Martin formulierte Dependency Inversion Principle (DIP) besagt:

a) Höher angesiedelte Module sollten nicht von tiefer liegenden Modulen abhängig sein. Beide sollten von Abstraktionen abhängen.

b) Abstraktionen sollten nicht von Details abhängen. Details sollten auf Abstraktionen beruhen.

Traditionelle prozedurale Programmierung erzeugt Abhängigkeitsstrukturen, in denen die allgemeinen Rahmenverträge (Policies) auf Details beruhen. Das ist problematisch, da diese Programme anfällig für Änderungen an den Details sind. Guter objekt-orientierter Entwurf kehrt diese Abhängigkeits-Strukturen um, so dass sowohl die Details als auch die allgemeinen Rahmenverträge auf Abstraktionen beruhen, wobei Service-Schnittstellen häufig im Besitz der Clients sind.

Das DIP ist grundlegend für guten objekt-orientierten Entwurf und die Basis für robuste Frameworks.

Lesen Sie hierzu auch