Dependency injection: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Botcrux (discussione | contributi)
m Bot: Aggiungo template {{interprogetto}} (FAQ)
Pontsort (discussione | contributi)
m formattazione
Riga 1:
{{F|programmazione|arg2=design|gennaio 2012}}
 
'''''Dependency injection''''' ('''DI''') è un [[design pattern|''design pattern'']] della [[Programmazione orientata agli oggetti]] il cui scopo è quello di semplificare lo sviluppo e migliorare la [[Unit testing|testabilità]] di [[software]] di grandi dimensioni.
 
Per utilizzare tale design pattern è sufficiente dichiarare le dipendenze che un componente necessita (dette anche interface contracts). Quando il componente verrà istanziato, un iniettore si prenderà carico di risolvere le dipendenze (attuando dunque l'[[inversione del controllo]]). Se è la prima volta che si tenta di risolvere una dipendenza l'''injector'' istanzierà il componente dipendente, lo salverà in un contenitore di istanze e lo restituirà. Se non è la prima volta, allora restituirà la copia salvata nel contenitore. Una volta risolte tutte le dipendenze, il controllo può tornare al componente applicativo.
 
Il ''pattern Dependency Injection'' coinvolge almeno tre elementi:
* una componente ''dipendente'',
* la dichiarazione delle ''dipendenze'' del componente, definite come ''interface contracts'',