Looking for dependency-injection Keywords? Try Ask4Keywords

dependency-injectionErste Schritte mit der Abhängigkeitsinjektion


Bemerkungen

Bei der objektorientierten Programmierung hängen Objekte häufig von anderen Objekten ab, um etwas zu tun.

Abhängigkeitsinjektion (DI) gibt einem Objekt die Dinge, von denen es abhängt, so dass es sich nicht darum kümmern muss, es selbst zu erhalten. Das heißt, die Abhängigkeiten in das Objekt eingespritzt. Dies wird meistens mit Konstruktorinjektion oder Eigenschaftsinjektion durchgeführt .

Abhängigkeitsinjektion ist eine Form von Inversion of Control (IoC). IoC ist ein weiter Begriff, der ein Muster des Softwaredesigns beschreibt.

Bei der traditionellen Ablaufprogrammierung erfolgt der Ablauf der Kontrolle logisch in Schritten. Die Steuerung liegt in den Händen des Objekts oder der Funktion, die Operationen ausführt. Schritt für Schritt führt das Programm eine Reihe von Operationen aus, die es explizit steuert.

Anstelle des Objekts oder der Funktion, die jeden Schritt detailliert beschreibt, kann der Steuerungsfluss umgekehrt werden, indem die Operationen durch generischere und abstraktere Objekte ausgeführt werden - in der Regel ein breiterer Rahmen.

Was ist ein grundlegendes Beispiel für Abhängigkeitseinspritzung?

Hier ist eine Klasse (Dog), die ihre eigene Abhängigkeit (Food) erstellt:

class Dog {
    public Dog() {
        var food = new Food();

        this.eat(food);
    }
}
 

Hier wird dieselbe Klasse mit ihrer Abhängigkeit mithilfe der Konstruktorinjektion eingefügt:

class Dog {
    public Dog(Food food) {
        this.eat(food);
    }
}