Hva er avhengighetsinjeksjon?
Avhengighetsinjeksjon er en teknikk som brukes i objektorientert programmering (OOP). Denne teknikken refererer, eller kobler, til et annet program og gjør det originale programmet avhengig av det refererte programmet. Dette lar programmerere umiddelbart legge til funksjoner eller ekstra funksjoner til det originale programmet, men gjør også kodingen mer komplisert og legger til overdreven koding som kan bremse programmet. De fleste OOP-programmer lar programmerere referere til en rekke installerte programmer uten å måtte legge til kode.
Bruken av avhengighetsinjeksjon er ofte sparsom i de fleste programmer. For å gjøre programmet avhengig, skriver programmereren kode som refererer til et annet program, enten delvis eller helt. Normalt kan det refereres til ethvert installert program, men noen kodeskjemaer tillater at det bare refereres til spesifikke programmer. Hvis programmereren for eksempel vil legge til tekstfunksjoner i programmet, i stedet for å lage funksjonen for hånd, kan han eller hun referere til et tekstbehandlingsprogram. Ved å gjøre dette har det originale programmet nå en ny funksjon, men er avhengig av at det andre programmet fungerer og forblir installert på datamaskinen.
De fleste nye programmerere foretrekker å bruke avhengighetsinjeksjon i stedet for å bygge funksjoner for hånd. Det er fordi bygningsfunksjoner kan være kompliserte og nye programmerere kanskje ikke vet hvordan de effektivt kan lage funksjonen. Ved å henvise til et program, trenger ikke programmereren å kjenne kodingen, og noen funksjon kan legges til med bare noen få linjer med kode.
Det er mange problemer med avhengighetsinjeksjon, spesielt hvis programmet er ment for forbrukere, og det er derfor det ofte blir brukt eller brukt sparsomt av profesjonelle og programvareleverandører. Et av de mest åpenbare problemene med avhengighetsinjeksjon på forbrukersiden er muligheten for at forbrukeren ikke har det refererte programmet. Hvis programmet er konstruert for å referere til en funksjon i program A, men forbrukeren ikke har program A installert, vil funksjonen eller hele programmet få en svekkende feil.
Ved høye nivåer av avhengighet, der det refereres til flere programmer, viser andre problemer seg. Hvis du refererer til et eller to programmer, skaper du en liten mengde kode, men å gjøre mer kan kreve overdreven kode som bremser programmet. Hvis programmet har en feil, er det nå en stor mengde komplisert koding som programmereren må dykke gjennom for å finne feilen, spesielt fordi feilen kan være med det refererte programmet og ikke det originale programmet.
Mange nye programmerere bruker avhengighetsinjeksjon, så de fleste OOP-skjemaer tilbyr en automatisk måte å henvise til et program. Dette gjør at programmereren, med bare noen få museklikk, kan opprette referanseforbindelsen. Å automatisk henvise et program tilfører ofte litt mer koding enn å skrive referansen for hånd, men siden programmereren er nytt og programmet sannsynligvis ikke vil gå til forbrukere, bør dette ikke by på noen alvorlige problemer.