Inversion of Control
Inversion of Control verlagert die Kontrolle des Programmflusses vom Anwendungscode zum Framework/Container, wobei das Framework in den Anwendungscode zurückruft.
Zweck
Den Kontrollfluss von der gerufenen Bibliothek zum rufenden Framework umkehren und lose Kopplung sowie erweiterbare Architektur erreichen.
Mechanismus
Traditionell ruft die Anwendung die Bibliothek. Mit IoC steuert das Framework den Ablauf und ruft an den richtigen Stellen in die Anwendung zurück (Hollywood-Prinzip). DI ist eine Form von IoC. Event-Loops, Template Methods und Callbacks sind Erscheinungsformen von IoC.
Anwendungsfälle
- Framework-Design
- Lose Kopplung
- Event-getrieben