Vad är beroendeinjektion?

Beroendeinjektion är en teknik som används i objektorienterad programmering (OOP). Denna teknik refererar till, eller ansluter, till ett annat program och gör det ursprungliga programmet beroende av det refererade programmet. Detta gör att programmerare omedelbart kan lägga till funktioner eller extrafunktioner till originalprogrammet, men gör också kodningen mer komplicerad och lägger till överdriven kodning som kan sakta ner programmet. De flesta OOP-program tillåter programmerare att referera till en mängd olika installerade program utan att behöva lägga till kod.

Användningen av beroendeinjektion är ofta sparsam i de flesta program. För att göra programmet beroende skriver programmeraren kod som refererar till ett annat program, antingen delvis eller helt. Normalt kan alla installerade program refereras, men vissa kodningsscheman tillåter att endast specifika program refereras. Till exempel, om programmeraren vill lägga till textfunktioner till programmet, istället för att göra funktionen för hand, kan han eller hon referera till ett ordbehandlingsprogram. Genom att göra detta har det ursprungliga programmet nu en ny funktion men är beroende av att det andra programmet fungerar och förblir installerat på datorn.

De flesta nya programmerare föredrar att använda beroendeinjektion istället för att bygga funktioner för hand. Det beror på att det kan vara komplicerat att bygga funktioner och att nya programmerare kanske inte vet hur man effektivt gör funktionen. Genom att referera till ett program behöver programmeraren inte känna till kodningen, och alla funktioner kan läggas till med bara några rader kod.

Det finns många problem med beroendeinjektion, särskilt om programmet är avsett för konsumenter, varför det ofta är oanvänt eller används sparsamt av proffs och mjukvaruleverantörer. Ett av de mest uppenbara problemen med beroendeinjektion på konsumentsidan är möjligheten att konsumenten kanske inte har det refererade programmet. Om programmet är konstruerat för att referera till en funktion i Program A, men konsumenten inte har Program A installerat, kommer funktionen eller hela programmet att stöta på ett försvagande fel.

Vid höga nivåer av beroende, där flera program refereras, uppenbarar sig andra problem. Att referera till ett eller två program skapar en liten mängd kod, men att göra mer kan kräva överdriven kod som saktar ner programmet. Om programmet har ett fel finns det nu en stor mängd komplicerad kodning som programmeraren måste dyka igenom för att hitta felet, särskilt eftersom felet kan vara med det refererade programmet och inte det ursprungliga programmet.

Många nya programmerare använder beroendeinjektion, så de flesta OOP-scheman erbjuder ett automatiskt sätt att referera till ett program. Detta gör att programmeraren, med bara några få musklick, kan göra referensanslutningen. Att automatiskt referera till ett program lägger ofta till något mer kodning än att skriva referensen för hand, men eftersom programmeraren är ny och programmet med största sannolikhet inte kommer att gå till konsumenterna bör detta inte ge några allvarliga problem.