Durch Dependency Injection versucht man Abhängigkeiten zwischen zwei Komponenten zu minimieren. Wie Dependency Injection funktioniert sei hier anhand eines kleinen Beispiels illustriert:
Die Abhängigkeit ist im Client nur als Interface definiert. Von der Implementierung des Interfaces weiß der Client nichts. Um eine möglichst lose Kopplung an die Implementierung zu erreichen wird diese von einem externen Player, einem Assembler, wie z.B. Spring oder auch einem selbstgestrickten Player erst bei Erzeugung des Client Objektes zugewiesen. Somit ist der Client nur noch vom Interface abhängig, die exakte Implementierung geht ihn nichts an. Er ist somit unabhängig, was ihn weniger fehleranfällig macht und auch leichter testbar druch Unit-Tests (Stichwort: Mock Objects).
Schreibe einen Kommentar