Hoppa till innehållet

Dependency Injection

En komponent får beroenden utifrån i stället för att själv skapa konkreta implementationer.

Även känt somDI
Mjukvaruarkitektur

Vad är Dependency Injection?

Med Dependency Injection får en komponent nödvändiga beroenden utifrån, till exempel som parametrar till konstruktorn. Den behöver inte själv skapa den konkreta implementationen. Sammansättningen av delarna skiljs från deras användning. Vanlig programkod kan göra detta; principen kräver ingen särskild DI-container.

I ett påhittat exempel får en rapportkomponent en dataläsare. I drift läser den från avsedd källa; för ett riktat test kan en lämplig testimplementation ge fasta data. Det stöder isolerad kontroll men visar inte korrekt anslutning till den riktiga källan. Livslängd, konfiguration och frigörande av nödvändiga resurser måste fortfarande klargöras. DI är en särskild form av inversion of control; inte all inversion of control eller varje service locator är DI.

Källor