Heim >häufiges Problem >Was bedeutet ioc?

Was bedeutet ioc?

藏色散人
藏色散人Original
2019-06-05 14:18:0940618Durchsuche

Inversion of Control (IoC) ist ein Designprinzip in der objektorientierten Programmierung, das verwendet werden kann, um die Kopplung zwischen Computercodes zu reduzieren.

Was bedeutet ioc?

Die gebräuchlichste Methode heißt Dependency Injection (DI), die andere Methode heißt „Dependency Lookup“. Durch die Umkehrung der Kontrolle übergibt eine externe Entität, die alle Objekte im System steuert, bei der Erstellung eines Objekts die Referenz des Objekts, von dem sie abhängt, an dieses. Man kann auch sagen, dass Abhängigkeiten in das Objekt eingefügt werden.

IoC ist ein großes Konzept und kann auf unterschiedliche Weise umgesetzt werden.

Es gibt zwei Hauptformen:

Abhängigkeitssuche:

Der Container stellt Rückrufschnittstellen und Kontextbedingungen für Komponenten bereit. Sowohl EJB als auch Apache Avalon verwenden diesen Ansatz. Auf diese Weise muss die Komponente die vom Container bereitgestellte API verwenden, um Ressourcen und kollaborative Objekte zu finden. Die einzige Umkehrung der Steuerung spiegelt sich nur in den oben genannten Rückrufmethoden wider: Der Container ruft diese Rückrufmethoden auf Dadurch kann der Anwendungscode relevante Ressourcen abrufen.

Abhängigkeitsinjektion:

Die Komponente führt keine Positionierungsabfragen durch, sondern stellt nur gewöhnliche Java-Methoden für den Container bereit, um Abhängigkeiten zu ermitteln. Der Container ist allein für die Zusammenstellung der Komponenten verantwortlich. Er übergibt Objekte, die Abhängigkeiten erfüllen, über JavaBean-Eigenschaften oder Konstruktoren. Die Praxis, Abhängigkeiten über JavaBean-Eigenschaften einzufügen, wird als Setter-Injektion bezeichnet; die Praxis, Abhängigkeiten als Konstruktorparameter zu übergeben, wird als Konstruktor-Injektion

bezeichnet

Das obige ist der detaillierte Inhalt vonWas bedeutet ioc?. 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
Vorheriger Artikel:Was sind die HTTP-Statuscodes?Nächster Artikel:Was sind die HTTP-Statuscodes?