Heim >häufiges Problem >Was ist Abhängigkeitsinjektion?

Was ist Abhängigkeitsinjektion?

清浅
清浅Original
2019-04-01 16:48:017151Durchsuche

Abhängigkeitsinjektion ist ein Entwurfsmuster, das die Umkehrung der Kontrolle implementiert und Abhängigkeitsprobleme löst. Es gibt drei Arten: Konstruktorinjektion, Eigenschaftsinjektion und Methodeninjektion. Es bietet Vorteile wie die Reduzierung von Abhängigkeiten und die Verbesserung der Wiederverwendbarkeit von Komponenten

Dependency Injection (DI) ist ein Entwurfsmuster, das Abhängigkeiten zwischen Programmiercodes beseitigt, sodass Anwendungen einfach verwaltet und programmiert werden können. Als nächstes werden wir im Artikel detailliert vorstellen, was Abhängigkeitsinjektion ist, was einen gewissen Referenzeffekt hat.

Was ist Abhängigkeitsinjektion?

[ Empfohlener Kurs: Frühlings-Tutorial]

Abhängigkeitsinjektion:

In der Programmierung , Abhängigkeitsinjektion Es handelt sich um ein Entwurfsmuster, das die Umkehrung der Kontrolle implementiert und zur Lösung von Abhängigkeitsproblemen verwendet wird. Eine Abhängigkeit bezieht sich auf ein Objekt, das ausgenutzt werden kann. Bei der Abhängigkeitsinjektion werden Abhängigkeiten an abhängige Objekte zur Verwendung übergeben. Der Dienst wird Teil des Client-Status und übergibt den Dienst an den Client, ohne dass der Client den Dienst erstellen oder finden kann. Durch die Abhängigkeitsinjektion ist unser Programmiercode lose gekoppelt und einfach zu verwalten.

Was ist Abhängigkeitsinjektion?

Arten der Abhängigkeitsinjektion:

Die injizierte Klasse dient ( Abhängigkeit) Injektion in den Client (Abhängigkeit), die in die folgenden Formen unterteilt werden kann

(1) Konstruktorinjektion: Bei der Konstruktorinjektion stellt der Injektor Dienste (Abhängigkeit) über den Clientklassenkonstruktor bereit.

(2) Eigenschaftsinjektion: Bei der Eigenschaftsinjektion (auch bekannt als Setter-Injektion) stellt der Injektor Abhängigkeiten über öffentliche Eigenschaften der Client-Klasse bereit.

(3) Methodeninjektion: Bei dieser Art der Injektion implementiert die Client-Klasse eine Schnittstelle, die Methoden deklariert, um Abhängigkeiten bereitzustellen, und der Injektor verwendet diese Schnittstelle, um Abhängigkeiten vom Geschlecht der Client-Klasse bereitzustellen.

Vorteile der Abhängigkeitsinjektion:

(1) Reduzieren Sie Abhängigkeiten

Abhängigkeitsinjektion kann Inkonsistenzen zwischen Komponenten beseitigen oder reduzieren Abhängigkeiten. So reduzieren Sie die Auswirkungen von Komponentenänderungen. Komponenten

(2) Verbessern Sie die Wiederverwendbarkeit

Die Reduzierung von Komponentenabhängigkeiten kann die Wiederverwendbarkeit von Komponenten verbessern. Wenn in einem anderen Kontext eine andere Implementierung einer Schnittstelle oder nur eine andere Konfiguration derselben Implementierung erforderlich ist, kann die Komponente für die Verwendung dieser Implementierung konfiguriert werden. Keine Codeänderungen erforderlich.

(3) Erhöhen Sie die Testbarkeit des Codes

Abhängigkeitsinjektion erhöht auch die Testbarkeit der Komponente. Wenn Abhängigkeiten in eine Komponente eingefügt werden können, bedeutet dies, dass Scheinimplementierungen dieser Abhängigkeiten eingefügt werden können. Scheinobjekte werden zum Testen als Ersatz für die eigentliche Implementierung verwendet, und das Verhalten der Scheinobjekte kann konfiguriert werden

(4) Verbessern Sie die Lesbarkeit des Codes

Abhängigkeitsinjektion kann Abhängigkeiten konvertieren. Das Element wird in die Schnittstelle der Komponente verschoben. Erleichtert das Erkennen, welche Komponenten Abhängigkeiten haben, und sorgt so für eine bessere Lesbarkeit des Codes.

(5)Abhängigkeitslager reduzieren

Abhängigkeitslager erzeugt viel „Rauschen“ im Code, was das Lesen und Warten erschwert und erschwert das Testen der Komponente. Die Abhängigkeitsinjektion kann die Abhängigkeit von Abhängigkeiten und die Verwendung statischer Singletons reduzieren und Komponenten perfekt miteinander verbinden

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein

Das obige ist der detaillierte Inhalt vonWas ist Abhängigkeitsinjektion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn