Zum Inhalt springen

Dependency Injection

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. November 2005 um 17:24 Uhr durch Duesentrieb (Diskussion | Beiträge) (noch etwas klarer, hoffe ich). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Diese Seite wurde zur Löschung vorgeschlagen.

Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht.

Zu den Löschkandidaten

Die Diskussion über diesen Antrag findet auf der Löschkandidatenseite statt.
Hier der konkrete Grund, warum dieser Artikel nicht den Qualitätsanforderungen entsprechen soll: Das erklärt überhaupt nichts, noch nichtmal die Einordnung. --Wiggum 00:07, 30. Okt 2005 (CEST)



Dependency Injection ist ein Entwurfsmuster und dient in einem objektorientierten System dazu, die Abhängigkeiten zwischen Komponenten oder Objekten zu minimieren. Dependency Injection ist eine Anwendung des Prinzips der Inversion of Control (IoC), bezieht sich aber nur auf die Erzeugung und Initialisierung von Objekten.

In einem klassisch aufgebauten OO-System ist jedes Objekt selbst dafür zuständig, seine Abhängigkeiten, also benötigte Objekte und Ressourcen, zu erzeugen und zu Verwalten. Dafür muß jedes Objekt einige Kenntnis seiner Umgebung mitbringen, die es zur Erfüllung seiner eigentlichen Aufgabe eigentlich nicht benötigen würde. Insbesondere muss es, um die entsprechenden Objekte erzeugen zu können, ihre konkrete Implementation kennen.

Dependency Injection überträgt die Verantwortung für das Erzeugen und die Verknüpfung von Objekten an ein extern konfigurierbares Framework, entsprechend einem Komponentenmodell. Dadurch wird der Code des Objektes unabhängig von seiner Umgebung und von der konkreten Umsetzung der Klassen, die es benötigt. Das vermeidet unnötige Abhöngigkeiten beim Compilieren und erleichtert die Wartung und das Testen.

Existierende Frameworks

Es existieren verschiedene Frameworks für diverse Programmiersprachen und Plattformen, die Dependency Injection unterstützen:

Java

Ruby

Python

.NET