Che cos’è l’iniezione di dipendenza?

L’iniezione di dipendenza è una tecnica utilizzata nella programmazione orientata agli oggetti (OOP). Questa tecnica fa riferimento, o si connette, con un altro programma e rende il programma originale dipendente dal programma di riferimento. Ciò consente ai programmatori di aggiungere istantaneamente funzioni o caratteristiche extra al programma originale, ma rende anche la codifica più complicata e aggiunge una codifica eccessiva che potrebbe rallentare il programma. La maggior parte dei programmi OOP consente ai programmatori di fare riferimento a una varietà di programmi installati senza dover aggiungere codice.

L’uso dell’iniezione di dipendenza è spesso parsimonioso nella maggior parte dei programmi. Per rendere il programma dipendente, il programmatore scrive codice che fa riferimento a un altro programma, in parte o per intero. Normalmente, è possibile fare riferimento a qualsiasi programma installato, ma alcuni schemi di codifica consentono di fare riferimento solo a programmi specifici. Ad esempio, se il programmatore desidera aggiungere funzionalità di testo al programma, invece di creare la funzione manualmente, può fare riferimento a un programma di elaborazione testi. In questo modo, il programma originale ora ha una nuova funzionalità, ma dipende dal funzionamento dell’altro programma e dal fatto che rimanga installato sul computer.

La maggior parte dei nuovi programmatori preferisce utilizzare l’iniezione di dipendenza invece di creare funzionalità manualmente. Questo perché la creazione di funzionalità può essere complicata e i nuovi programmatori potrebbero non sapere come realizzare efficacemente la funzionalità. Facendo riferimento a un programma, il programmatore non ha bisogno di conoscere la codifica e qualsiasi funzionalità può essere aggiunta con poche righe di codice.

Ci sono molti problemi con l’iniezione di dipendenza, specialmente se il programma è pensato per i consumatori, motivo per cui spesso è inutilizzato o utilizzato con parsimonia da professionisti e fornitori di software. Uno dei problemi più ovvi con l’iniezione di dipendenza dal lato del consumatore è la possibilità che il consumatore possa non avere il programma di riferimento. Se il programma è costruito per fare riferimento a una funzionalità del Programma A, ma il consumatore non ha installato il Programma A, la funzionalità o l’intero programma riscontrerà un errore debilitante.

Ad alti livelli di dipendenza, dove si fa riferimento a diversi programmi, si manifestano altri problemi. Fare riferimento a uno o due programmi crea una piccola quantità di codice, ma fare di più può richiedere codice eccessivo che rallenta il programma. Se il programma ha un errore, ora c’è una grande quantità di codice complicato che il programmatore deve analizzare per trovare l’errore, soprattutto perché l’errore potrebbe riguardare il programma di riferimento e non il programma originale.

Molti nuovi programmatori utilizzano l’iniezione di dipendenza, quindi la maggior parte degli schemi OOP offre un modo automatico per fare riferimento a un programma. Ciò consente al programmatore, con pochi clic del mouse, di effettuare il collegamento di riferimento. Il riferimento automatico a un programma spesso aggiunge un po’ più di codice rispetto alla scrittura manuale del riferimento, ma poiché il programmatore è nuovo e molto probabilmente il programma non andrà ai consumatori, questo non dovrebbe presentare problemi seri.