Java Reference
In-Depth Information
Bild 1-10 Grafischer Editor
1.9 Das Dependency Inversion-Prinzip und Inversion of
Control
Bei dem Dependency Inversion-Prinzip und bei Inversion of Control findet eine Umkehr
der Abhängigkeiten ( Dependency Inversion ) statt. Bei dem Dependency Inversion-
Prinzip erfolgt die Umkehr der Abhängigkeiten in hierarchischen Systemen . Bei
Inversion of Control erfolgt die Umkehr der Abhängigkeiten zwischen gleichberech-
tigten Partnern .
1.9.1 Das Dependency Inversion-Prinzip
Das Dependency Inversion-Prinzip (DIP) betrachtet die Abhängigkeit von Klassen in
Hierarchien. Dieses Prinzip stammt von Robert C. Martin [mardip] (siehe auch [Mar03])
und lautet:
"High-level modules should not depend on low-level modules.
Both should depend on abstractions. Abstractions should not
depend upon details. Details should depend upon abstractions."
Klassen werden oft in Ebenen eingeordnet. Die oberste Ebene beschreibt nach Booch
[Boo95] die Politik der Geschäftsprozesse, die nächste Ebene die Ebene der Mecha-
nismen und wiederum die nächste Ebene die Ebene der Hilfsdienste. Eine jede dieser
Ebenen bietet bestimmte Dienste an. In der klassischen Technik - wie man es von der
prozeduralen Technik gewöhnt ist, aber auch objektorientiert praktizieren kann - , ruft
eine Klasse einer höher stehenden Ebene die Dienste einer Klasse einer tiefer stehen-
den Ebene auf. Ändert sich jedoch eine Klasse einer tiefer stehenden Ebene, so kann
es sein, dass die nutzenden Klassen der höher stehenden Ebene auch geändert
werden müssen. Und damit ist bei dieser Vorgehensweise eine höher stehende Ebene
von einer tiefer stehenden Ebene abhängig, wie das folgende Bild zeigt:
Search WWH ::




Custom Search