La dipendenza injection ( dependency injection in inglese) è un meccanismo per implementare il principio di controllo dell'inversione .
Consiste nel creare dinamicamente (iniettare) le dipendenze tra i diversi oggetti basandosi su una descrizione (file di configurazione o metadati) o in modo programmatico. Pertanto le dipendenze tra i componenti software non sono più espresse nel codice staticamente ma determinate dinamicamente in fase di esecuzione.
Nella programmazione a oggetti , gli oggetti di tipo A dipendono da un oggetto di tipo B se almeno una delle seguenti condizioni è vera:
Se A dipende da B , ciò implica che per creare A , abbiamo bisogno di B che, in pratica, non è sempre il caso.
Un modo possibile per rimuovere la dipendenza è quello di
Un problema che si pone è di avere in A un oggetto che implementa I quando non sappiamo come istanziarlo. La soluzione è quella di creare, per esempio, punto b tipo B e iniettarlo in un oggetto di tipo A . L'iniezione effettiva può essere eseguita: