Was ist Inversion of Control
Steuerungsumkehr in der Architektur
Inversion of Control (IoC) ist ein Entwurfsprinzip, bei dem die Kontrolle über den Programmablauf vom Anwendungscode an ein externes Framework oder Container übertragen wird.
Wichtige IoC-Muster
- Dependency Injection (DI) — Einfügen von Abhängigkeiten über Konstruktor, Setter oder Interface
- Service Locator — zentralisiertes Service-Register
- Factory Pattern — Objekterstellung durch Fabriken
- Template Method — Definition des Algorithmus-Skeletts in der Basisklasse
Vorteile von IoC
- Lose Kopplung zwischen Komponenten
- Vereinfachtes Testen durch Mocks
- Flexible Abhängigkeitskonfiguration
- Wiederverwendbarkeit von Code
Beliebte IoC-Container
- Spring (Java) — der beliebteste IoC-Container
- ASP.NET Core DI — integriertes DI in .NET
- InversifyJS — IoC für TypeScript/JavaScript
- Autofac, Ninject — Alternativen für .NET