Gå til indholdet

Dependency Injection

En komponent får afhængigheder udefra i stedet for selv at oprette konkrete implementeringer.

Også kendt somDI
Softwarearkitektur

Hvad er Dependency Injection?

Med Dependency Injection får en komponent nødvendige afhængigheder udefra, for eksempel som parametre til konstruktøren. Den behøver ikke selv at oprette den konkrete implementering. Sammensætning af delene adskilles fra brugen af dem. Almindelig programkode kan gøre dette; princippet kræver ikke en særlig DI-container.

I et opdigtet eksempel får en rapportkomponent en datalæser. I drift læser den fra den tiltænkte kilde; til en målrettet test kan en passende testimplementering levere faste data. Det støtter isoleret kontrol, men dokumenterer ikke korrekt forbindelse til den rigtige kilde. Levetid, konfiguration og frigivelse af nødvendige ressourcer skal stadig afklares. DI er en bestemt form for inversion of control; ikke enhver inversion of control eller service locator er DI.

Kilder