Naar de inhoud

Dependency injection

Een component krijgt afhankelijkheden van buitenaf in plaats van concrete implementaties zelf te maken.

Ook bekend alsDI
Softwarearchitectuur

Wat is dependency injection?

Bij dependency injection krijgt een component benodigde afhankelijkheden van buitenaf, bijvoorbeeld als constructorparameters. De component hoeft de concrete implementatie niet zelf te maken. Het samenstellen van onderdelen wordt gescheiden van hun gebruik. Gewone programmacode kan dit doen; een speciale DI-container is niet vereist voor het principe.

In een fictief voorbeeld krijgt een rapportcomponent een gegevenslezer. In gebruik leest die de bedoelde bron; voor een gerichte test kan een passende testimplementatie vaste gegevens leveren. Dat ondersteunt afzonderlijke controle, maar toont geen juiste aansluiting op de echte bron aan. Levensduur, configuratie en vrijgeven van benodigde middelen vragen nog keuzes. DI is een specifieke vorm van inversion of control; niet iedere inversion of control of service locator is DI.

Bronnen