Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Dependency-Injection (DI), eine Form von Inversion of Control (IoC), ist eine mächtige Technik zur Auflösung von Abhängigkeiten zwischen »Komponenten« in größeren Anwendungen. Sie hilft dabei, die Kopplung zwischen diesen Komponenten zu minimieren, so dass man relativ leicht unter verschiedenen Umständen verschiedene Komponenten austauschen kann.
Früher musste ein Anwendungsobjekt, wenn es beispielsweise ein »Akzessor«-Objekt für den Zugriff auf eine Datenbank brauchte, genau diesen Akzessor selbst instanziieren. Dieser Ansatz ist zwar bequem, macht aber Unit-Tests sehr schwierig, weil man immer mit einer richtigen Datenbank testen muss. Außerdem steht es der Wiederverwendung für diejenigen Situationen im Wege, in denen andere Persistenzmechanismen (oder gar keine) benötigt werden. Inversion of Control löst dieses Problem, indem die Zuständigkeit für die Erfüllung von Abhängigkeiten zwischen dem Objekt und der Datenbankverbindung umgekehrt wird.