Venerdì 16 Aprile 2010
Sede Sala Convegni
Via Mazzini, 6 - 60022 Castelfidardo (AN)
Uno dei problemi principali che impediscono la realizzazione di applicazioni modulari è la dipendenza tra i componenti che le costituiscono. Eliminare queste dipendenze può dare innumerevoli vantaggi quali la possibilità di effettuare test automatici ed avere un codice incline al cambiamento. Tecniche come Inversion of Control (IoC) e Dependecy Injection (DI) ci possono aiutare giocando un ruolo fondamentale nella ricerca del "Low Coupling".
Vedremo inoltre come attraverso Aspect Oriented Programming (AOP) sia possibile isolare la presenza dei "Crosscutting Concern", ovvero i "comportamenti" trasversali all'applicazione (come il logging, l'autenticazione, il caching, il Transaction Management, ...), mitigandone la loro natura pervasiva.
14:00 | Registrazione partecipanti |
14:20 | Introduzione all'evento |
14:30 | L'origine dei mali: le dipendenze tra componenti - Stefano Leli Vediamo perchè le dipendenze tra i componenti sono un ostacolo alla scrittura di software modulare (e perchè dovremmo scrivere codice modulare!) e quali tecniche ci possono aiutare: - Dependency Injection (DI)
- Inversion of Control (IoC)
- Aspect Oriented Programming (AOP)
|
15:30 | Librerie per IoC / DI e AOP - Andrea Balducci
Le tecniche appena introdotte possono essere realizzate tramite i soli strumenti messi a disposizione dal .Net Framework, ma questo richiede la scrittura di codice piuttosto complesso: nella quotidianità ci si appoggia generalmente a delle librerie di terze parti a disposizione. Faremo una breve panoramica sulle principali librerie, in particolare Castle e Microsoft Unity (entrambe open source e gratuite). Queste librerie fanno parte di veri e propri "application framework" ed offrono tante funzionalità per lo sviluppo dei programmi: vedremo sia come poter sfruttare di essi "solo" le parti che ci interessano per IoC / DI e AOP, sia come far interagire le varie componenti per ottenere interessanti funzionalità come, ad esempio, l'integrazione della parte di IoC con WCF ed NHibernate. |
16:30 | Coffee break |
16:40 | [Hands-On] Esempi di IoC e DI - Alessandro Giorgetti Tramite esempi di codice vedremo come poter applicare i principi della DI e dell'IoC appena introdotti, e come poter refattorizzare delle applicazioni già esistenti per andare in questa direzione, in modo da usufruire dei vantaggi indicati. Parleremo inoltre di alcune best practice o situazioni da evitare per non andare incontro a nuovi problemi creati dall'adozione di queste tecniche. |
17:30 | [Hands-On] Esempi di AOP - Gian Maria Ricci Dopo aver refattorizzato l'applicazione nella sessione precedente secondo le tecniche dell'Inversion of Control, vedremo come sfruttare l'AOP per risolvere in maniera molto semplice alcuni tipici problemi, come la gestione del logging, della validazione, del caching, etc..., riducendo il codice duplicato ed aumentando la modularità. |
18:15 | Question & Answers e conclusione |
19:30 | Cena Al solito, termineremo la serata con una cena in un ristorante della zona. Chi vuole partecipare può segnalarcelo rispondendo a questo post! |
La partecipazione al workshop è gratuita! Per iscriverti, vai a questa pagina.
Technorati Tags:
ioc,
di,
aop,
dotnetmarche
posted @ giovedì 25 marzo 2010 14:13