Molti conoscono windsor castle il (più?) famoso IoC container. Pochi però sanno che oltre a poter essere usato come semplice contenitore Castle dispone di alcune utili "facility" che permettono di estenderne il funzionamento. Di seguito vorrei parlare delle Factory. Per default un oggetto registrato all'interno del file di configurazione di Castle viene costruito usando il costruttore e iniettando gli eventuali parametri necessari. A volte però capita di dover costruire un oggetto avvalendosi di una classe factory che si occupa della costruzione e setup di un oggetto. Castle supporta nativamente questo modo...
Con Windsor di CastleProject, il noto framework di IoC, è possibile aggiungere alla nostra applicazione un pizzico di AOP usando gli Interceptor, una facility che permette di intercettare la chiamata ai metodi e alle proprietà di una classe opportunamente configurata. Per capire meglio come utilizzare la facility, analizziamo il classico degli esempi legati al mondo AOP: il logger. Tipicamente, in una normale applicazione, le operazioni di logging consistono nel fare chiamate ad una libreria dedicata alla scrittura (su file, su db, ecc...) del log. Le chiamate devono essere esplicitate a priori nei punti in cui si vuole loggare,...