„Inversion of Control“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K r2.6.4) (Bot: Ändere: es:Inversión de control |
K r2.7.1) (Bot: Ergänze: uk:Інверсія управління |
||
Zeile 24: | Zeile 24: | ||
[[ru:Обращение контроля]] |
[[ru:Обращение контроля]] |
||
[[sv:Inversion of Control]] |
[[sv:Inversion of Control]] |
||
[[uk:Інверсія управління]] |
|||
[[zh:控制反转]] |
[[zh:控制反转]] |
Version vom 25. Juni 2011, 15:13 Uhr
Der Begriff Inversion of Control (IoC; deutsch: „Umkehrung der Steuerung“ oder „Steuerungsumkehr“) bezeichnet ein Umsetzungsparadigma, das in der objektorientierten Programmierung Anwendung findet.
Dieses Paradigma beschreibt die Arbeitsweise von Frameworks: eine Funktion eines Anwendungsprogramms wird bei einer Standardbibliothek registriert und von dieser zu einem späteren Zeitpunkt aufgerufen. Das wird manchmal als eine Anwendung des „Hollywood-Prinzips“ bezeichnet: "don't call us, we'll call you" (zu deutsch: „Rufen Sie uns nicht an, wir werden Sie anrufen“): Statt dass die Anwendung den Kontrollfluss steuert und lediglich Standardfunktionen benutzt, wird die Steuerung der Ausführung bestimmter Unterprogramme an das Framework abgegeben.
Ein einfaches Beispiel einer solchen Umkehrung sind Listener (gemäß dem Observer-Muster), aber auch Java-Applets und Servlets folgen diesem Entwurfsmuster. Plug-ins und Rückruffunktionen (callback) sind weitere Beispiele dafür, die Steuerung einzelner Programmteile einem (Framework-)Objekt zu überlassen.
Häufig ist auch bei Bibliotheken, die mit Dependency Injection arbeiten (wie z. B. EJB-Container oder dem Spring-Framework), von Inversion of Control zu lesen. Hier geht es aber vorwiegend um die Erzeugung von Objektnetzen (siehe auch: Fabrikmethode, Komponentenmodell).
Weblinks
- Robert Martin: The Dependency Inversion Principle (Englisch; PDF-Datei; 29 kB)
- Erweiterte Erklärung zu Inversion of Control mit Beispielen (deutsch)