Vad är Dependency Injection
Mönster för att skicka beroenden externt
Dependency Injection (DI) är ett designmönster där ett objekt tar emot sina beroenden från externa källor istället för att skapa dem själv.
Injektionstyper
- Constructor Injection — via konstruktor
- Setter Injection — via setter-metoder
- Interface Injection — via gränssnitt
- Property Injection — via publika egenskaper
Fördelar
- Lös koppling — komponenter är lätt utbytbara
- Testbarhet — enkelt att ersätta mocks och stubs
- Flexibilitet — beteende konfigureras externt
- Återanvändbarhet — mer modulär kod
- Ren arkitektur — beroendeomvändning
Populära DI-containrar
- Spring (Java)
- .NET Core DI (C#)
- InversifyJS (TypeScript)
- Dagger (Android)
- Angular DI