Castle Windsor è senza dubbio uno dei motori di inversione di controllo più gettonati. L’aspetto interessante è che al suo interno si trovano molte estensioni, chiamate generalmente Facility, per gestire gli scenari più comuni. Stamane mi è capitato di usare l’integrazione con WCF. In pratica si tratta di una estensione che ci permette di risolvere i servizi con un WindsorContainer. Questa funzionalità è decisamente interessante, dato che in questo modo si risolvono tutti i problemi di dipendenza tra i vari servizi e tra i servizi e componenti esterni. Grazie ad un motore di inversione di controllo come Windsor...
Una delle funzionalità di Castle.Windsor che non ho trovato su spring, e si fa anche un po fatica a simularla, è la possibilità di fare un override delle proprietà di un oggetto. In questo post viene mostrato come windsor permetta di iniettare manualmente a runtime le dipendenze degli oggetti.
Esempio di facility per configurare runtime un contenitore di IoC di Castle.Windsor.