IoC
There are 3 entries for the tag
IoC
Credo che alla lunga tutti ci siamo scontrati con la noisitàcomplessitàindigeribilità della gestione della configurazione del container per IoC. In una soluzione corposa, okkio non necessariamente complessa, basta e avanza corposa, è una vera menata. Si ci sono le fluent interfaces che ci fanno risparmare un sacco di “giornate di inferno”, che altrimenti ci guadagneremmo gestendo la configurazione su file xml, permettendoci di scrivere cose del tipo: container.Register( Component.For<IWindsorContainer, IServiceProvider>()
.Instance( container ) );
container.Register( Component.For<ModulesConfigurationSectionHandler>()
.FactoryMethod( this.container.Kernel, () =>
{
...
Si sa sono un fun di Castle Windsor e in generale del mondo IoC, una cosa però veramente tediosa, prona ad errori, scomoda e decisamente ingombrante dei framework di Inversion of Control è la gestione del file di configurazione, soprattutto se usate massicciamente i generics. Questo perchè per gestire una situazione, decisamente triviale, come la seguente: public interface IMyComponent<T>
where T : IDispatcher
{
}
public interface IDispatcher
{
void Say( String msg );
}
class MyComponent : IMyComponent<IDispatcher>
{
public MyComponent( IDispatcher dispatcher )
{
dispatcher.Say(...
In un'altro post di qualche giorno fa mi è stato chiesto di approfondire alcuni concetti. Partiamo dal primo: IServiceContainer. Come forse avrete capito sono leggermente ossessionato dal problema delle dipendenze e siccome in moltissimi casi liberarsene costa veramente poco faccio sempre il possibile per farlo. Nello specifico in questo periodo stiamo facendo uso massiccio di Castle Windsor come motore di Inversion of Control ma la mia ossessione mi dice che non è bello dipendere da Castle perchè domani mattina potremmo volerci mettere Sping.NET o Unity... quindi?!?! Molto semplicemente astraimo l'uso che facciamo di Castle mascherandolo. In questo...