„Inversion of Control“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Luckas-bot (Diskussion | Beiträge)
Paradigmata (Beispiele, Vorbilder, Muster) beschreiben nichts.
 
(15 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Der Begriff '''Inversion of Control''' ('''IoC'''; deutsch: „Umkehrung der Steuerung“ oder „Steuerungsumkehr“) bezeichnet ein [[Paradigma#Weitere Verwendungen von „Paradigma“|Umsetzungsparadigma]], das in der [[Objektorientierte Programmierung|objektorientierten Programmierung]] Anwendung findet.
Der Begriff '''Inversion of Control''' ('''IoC''', {{deS|''Umkehrung der Steuerung''}} oder ''Steuerungsumkehr'') bezeichnet ein [[Paradigma#Verwendungsbeispiele|Umsetzungsparadigma]], das u. a. in der [[Objektorientierte Programmierung|objektorientierten Programmierung]] Anwendung findet.


Dieses [[Paradigma]] beschreibt die Arbeitsweise von [[Framework]]s: eine [[Funktion (Programmierung)|Funktion]] eines [[Anwendungsprogramm]]s wird bei einer [[Programmbibliothek|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 [[Unterprogramm]]e an das Framework abgegeben.
Dieses [[Programmierparadigma|Paradigma]] ist die Arbeitsweise von [[Framework]]s: eine [[Funktion (Programmierung)|Funktion]] eines [[Anwendungsprogramm]]s wird bei einer [[Programmbibliothek|Standardbibliothek]] registriert und von dieser zu einem späteren Zeitpunkt aufgerufen. Statt dass die Anwendung den [[Kontrollfluss]] steuert und lediglich Standardfunktionen benutzt, wird die Steuerung der Ausführung bestimmter [[Unterprogramm]]e an das Framework abgegeben.


Ein einfaches Beispiel einer solchen Umkehrung sind ''Listener'' (gemäß dem [[Observer (Entwurfsmuster)|Observer-Muster]]), aber auch [[Java-Applet]]s und [[Servlet]]s folgen diesem Entwurfsmuster. [[Plug-in]]s und [[Rückruffunktion]]en (callback) sind weitere Beispiele dafür, die Steuerung einzelner Programmteile einem (Framework-)Objekt zu überlassen.
Ein einfaches Beispiel einer solchen Umkehrung sind ''Listener'' (gemäß dem [[Beobachter (Entwurfsmuster)|Beobachter-Muster]]), aber auch [[Java-Applet]]s und [[Servlet]]s folgen diesem Entwurfsmuster. [[Plug-in]]s und [[Rückruffunktion]]en (callback) sind weitere Beispiele dafür, die Steuerung einzelner Programmteile einem (Framework-)Objekt zu überlassen.


Häufig ist auch bei [[Bibliothek (Programmierung)|Bibliotheken]], die mit ''[[Dependency Injection]]'' arbeiten (wie z. B. [[EJB-Container]] oder dem [[Spring (Framework)|Spring]]-Framework), von ''Inversion of Control'' zu lesen. Hier geht es aber vorwiegend um die Erzeugung von Objektnetzen (''siehe auch:'' [[Fabrikmethode]], [[Komponentenmodell]]).
Häufig ist auch bei [[Bibliothek (Programmierung)|Bibliotheken]], die mit ''[[Dependency Injection]]'' arbeiten (wie z. B. [[EJB-Container]] oder dem [[Spring (Framework)|Spring]]-Framework), von ''Inversion of Control'' zu lesen. Hier geht es aber vorwiegend um die Erzeugung von Objektnetzen.


== Weblinks ==
== Siehe auch ==
* [[Fabrikmethode]]
*[http://www.objectmentor.com/resources/articles/dip.pdf Robert Martin: The Dependency Inversion Principle] (Englisch; PDF-Datei; 29 kB)
* [[Komponentenmodell]]
*[http://www.christian-straube.de/2011/01/11/inversion-of-control-dependency-injection/ Erweiterte Erklärung zu Inversion of Control mit Beispielen (deutsch)]
* [[Liste von Dependency Injection Frameworks]]


{{Navigationsleiste Entwurfsmuster}}
[[Kategorie:Softwarearchitektur]]


[[Kategorie:Softwarearchitektur]]
[[en:Inversion of control]]
[[es:Inversión de control]]
[[fr:Inversion de contrôle]]
[[hu:Inversion of control]]
[[it:Inversion of Control]]
[[ja:制御の反転]]
[[ko:제어 반전]]
[[pl:Odwrócenie sterowania]]
[[pt:Inversão de controle]]
[[ru:Обращение контроля]]
[[sv:Inversion of Control]]
[[uk:Інверсія управління]]
[[zh:控制反转]]

Aktuelle Version vom 25. Dezember 2021, 18:32 Uhr

Der Begriff Inversion of Control (IoC, deutsch Umkehrung der Steuerung oder Steuerungsumkehr) bezeichnet ein Umsetzungsparadigma, das u. a. in der objektorientierten Programmierung Anwendung findet.

Dieses Paradigma ist die Arbeitsweise von Frameworks: eine Funktion eines Anwendungsprogramms wird bei einer Standardbibliothek registriert und von dieser zu einem späteren Zeitpunkt aufgerufen. 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 Beobachter-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.