Wat is afhankelijkheidsinjectie?
Afhankelijkheid injectie is een techniek die wordt gebruikt in object-georiënteerd programmeren (OOP). Deze techniek verwijst naar of verbindt met een ander programma en maakt het oorspronkelijke programma afhankelijk van het programma waarnaar wordt verwezen. Dit stelt programmeurs in staat om onmiddellijk functies of extra functies toe te voegen aan het originele programma, maar maakt codering ook gecompliceerder en voegt overmatige codering toe die het programma kan vertragen. Met de meeste OOP-programma's kunnen programmeurs naar verschillende geïnstalleerde programma's verwijzen zonder dat ze code hoeven toe te voegen.
Het gebruik van afhankelijkheidsinjectie is vaak spaarzaam in de meeste programma's. Om het programma afhankelijk te maken, schrijft de programmeur code die verwijst naar een ander programma, geheel of gedeeltelijk. Normaal gesproken kan naar elk geïnstalleerd programma worden verwezen, maar naar sommige coderingsschema's kan alleen naar specifieke programma's worden verwezen. Als de programmeur bijvoorbeeld tekstmogelijkheden aan het programma wil toevoegen in plaats van de functie handmatig te maken, kan hij of zij verwijzen naar een tekstverwerkingsprogramma. Door dit te doen, heeft het originele programma nu een nieuwe functie maar is afhankelijk van dat andere programma dat werkt en op de computer geïnstalleerd blijft.
De meeste nieuwe programmeurs gebruiken liever afhankelijkheidsinjectie in plaats van handmatig functies te bouwen. Dat komt omdat het bouwen van functies ingewikkeld kan zijn en nieuwe programmeurs misschien niet weten hoe ze de functie effectief kunnen maken. Door naar een programma te verwijzen, hoeft de programmeur de codering niet te kennen, en elke functie kan worden toegevoegd met slechts een paar regels code.
Er zijn veel problemen met het injecteren van afhankelijkheid, vooral als het programma voor consumenten is bedoeld, daarom wordt het vaak niet gebruikt of spaarzaam gebruikt door professionals en softwareleveranciers. Een van de meest voor de hand liggende problemen met afhankelijkheidsinjectie aan de kant van de consument is de mogelijkheid dat de consument het programma waarnaar wordt verwezen mogelijk niet heeft. Als het programma is geconstrueerd om te verwijzen naar een functie in Programma A, maar de consument heeft geen Programma A geïnstalleerd, dan zal de functie of het hele programma een slopende fout tegenkomen.
Bij een hoge mate van afhankelijkheid, waar naar verschillende programma's wordt verwezen, manifesteren zich andere problemen. Als u naar een of twee programma's verwijst, wordt er een kleine hoeveelheid code gemaakt, maar als u meer doet, kan er te veel code nodig zijn die het programma vertraagt. Als het programma een fout bevat, is er nu een grote hoeveelheid gecompliceerde codering waar de programmeur doorheen moet duiken om de fout te vinden, vooral omdat de fout mogelijk te maken heeft met het programma waarnaar wordt verwezen en niet met het originele programma.
Veel nieuwe programmeurs gebruiken afhankelijkheidsinjectie, dus de meeste OOP-schema's bieden een automatische manier om naar een programma te verwijzen. Hierdoor kan de programmeur met slechts enkele muisklikken de referentieverbinding maken. Automatisch verwijzen naar een programma voegt vaak iets meer codering toe dan het handmatig schrijven van de referentie, maar omdat de programmeur nieuw is en het programma hoogstwaarschijnlijk niet naar consumenten zal gaan, zou dit geen ernstige problemen moeten opleveren.