Inversion of Control (IOC). Don't call us, we'll call you.
Inversion of Control L' IoC è una tecnica di programmazione in cui le funzionalità di un software sono sviluppate in modo che invece di consistere in una serie di chiamate alle funzionalità del sistema, è il framework in cui sono usate a richiamare le funzionalità stesse. Lo scopo dell'IoC è di migliorare la modularità e l'estendibilità, realizzando delle funzioni con un maggior grado di disaccoppiamento. Sorge un problema su come e quando debbano essere istanziati gli oggetti che devono essere utilizzati nel sistema, visto che adesso è il framework che ne invoca i metodi e non viceversa. A questo scopo sono state ideate diverse tecniche, di cui la principale è la dependency injection (D.I.). Per alcuni versi l' IoC ha degli aspetti in comune con la D.I. , negli obiettivi che si prefigge, ma la D.I. ha come focus principale l'eliminazione della costruzione diretta degli oggetti ( service ) negli oggetti o nelle funzioni ( client ), che viene demandata all' i...