Vad är Inversion of Control
Kontrollomvändning i arkitektur
Inversion of Control (IoC) är en designprincip där kontrollen av programflödet överförs från applikationskoden till ett externt ramverk eller container.
Huvudsakliga IoC-mönster
- Dependency Injection (DI) — injicera beroenden genom konstruktor, setter eller gränssnitt
- Service Locator — centraliserat tjänsteregister
- Factory Pattern — skapa objekt genom fabriker
- Template Method — definiera algoritmskelettet i basklassen
Fördelar med IoC
- Lös koppling mellan komponenter
- Förenklad testning genom mockar
- Flexibel beroendekonfiguration
- Återanvändbarhet av kod
Populära IoC-containrar
- Spring (Java) — den mest populära IoC-containern
- ASP.NET Core DI — inbyggd DI i .NET
- InversifyJS — IoC för TypeScript/JavaScript
- Autofac, Ninject — alternativ för .NET