Iniezione di dipendenza

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.

Esempio

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: