Gå til innholdet

Dependency Injection

En komponent får avhengigheter utenfra i stedet for å opprette konkrete implementasjoner selv.

Også kjent somDI
Programvarearkitektur

Hva er Dependency Injection?

Med Dependency Injection får en komponent nødvendige avhengigheter utenfra, for eksempel som parametre til konstruktøren. Den trenger ikke å opprette den konkrete implementasjonen selv. Sammensetningen av delene skilles fra bruken av dem. Vanlig programkode kan gjøre dette; prinsippet krever ingen egen DI-container.

I et oppdiktet eksempel får en rapportkomponent en dataleser. I drift leser den fra den tiltenkte kilden; til en målrettet test kan en egnet testimplementasjon levere faste data. Det støtter isolert kontroll, men dokumenterer ikke riktig tilkobling til den virkelige kilden. Levetid, konfigurasjon og frigjøring av nødvendige ressurser må fortsatt avklares. DI er en bestemt form for inversion of control; ikke all inversion of control eller enhver service locator er DI.

Kilder