Mikä on Riippuvuusinjektio
Malli riippuvuuksien ulkoiseen välittämiseen
Riippuvuusinjektio (DI) on suunnittelumalli, jossa objekti saa riippuvuutensa ulkoisista lähteistä sen sijaan, että loisi ne itse.
Injektiotyypit
- Constructor Injection — konstruktorin kautta
- Setter Injection — setter-metodien kautta
- Interface Injection — rajapinnan kautta
- Property Injection — julkisten ominaisuuksien kautta
Edut
- Löysä kytkentä — komponentit helposti vaihdettavissa
- Testattavuus — helppo korvata mock- ja stub-objektit
- Joustavuus — käyttäytyminen konfiguroidaan ulkoisesti
- Uudelleenkäytettävyys — modulaarisempi koodi
- Puhdas arkkitehtuuri — riippuvuuden inversio
Suositut DI-kontit
- Spring (Java)
- .NET Core DI (C#)
- InversifyJS (TypeScript)
- Dagger (Android)
- Angular DI