Tecniche speciali di programmazione/2005-2006
Tecniche speciali di programmazione
Avvisi
Giovedì 12-1 lezione, solita aula, dalle 10:30 in poi Giovedì 12-1 preparazione all'esame in SILAB, dalle 14:00 alle 16:00 Giovedì 19-1 lezione, solita aula, dalle 10:30 in poi Giovedì 19-1 preparazione all'esame in SILAB, dalle 14:00 alle 16:00 Giovedì 19-1 si terrà l'ultima lezione. La prima prova scritta sarà Giovedì 2-2 dalle 10:30 alle 13:30 aula da definirsi. Solo chi si iscrive presso il SIFA verrà ammesso a sostenere la prova scritta.!
Docenti
Il corso è tenuto dal prof. Walter Cazzola e la sua mail è cazzola@dico.unimi.it
Orari delle lezioni
Il Giovedì dalle 10:30-13:30 in Sala lauree. Il prof ha precisato che finirà verso le 13:00-13:10 e effettuerà due pause.
Orario di ricevimento dei docenti
Da definire.
Sito del corso
Il Sito del corso è http://www.disi.unige.it/person/CazzolaW/tsp.html#2005
Materiale didattico
Il materiale saranno principalmente i lucidi delle lezioni. Inoltre vengono suggeriti due libri:
Ramnivas Laddad. AspectJ in Action: Pratical Aspect-Oriented Programming. Manning Pubblications Company 2003
Ira Forman and N. Forman. Java Reflection in Action. Manning Publications 2004.
Programma
Alla pagina http://www.dsi.unimi.it/files/occor...ramma629330.doc è disponibile il programma del corso.
Modalità d'esame
Scritto + progetto
Diario del Corso
Lezione del 6-10-2005
Argomenti trattati nella lezione di oggi:
- design pattern
- classificazione pattern (creazionali, strutturali, comportamentali)
- es. pattern creazionale - Abstract Factory
- es. pattern strutturali - Proxy
- es. pattern comportamentali - Observer
- conclusioni sui pattern
Lezione del 13-10-2005
Rinviata
Lezione del 20-10-2005
Argomenti trattati nella lezione di oggi:
- Linee guida per la creazione di un buon pattern
- Delegazione
- Struttura della Delegazione
- Strategy pattern
- State machine
- Decoretor pattern
Lezione del 27-10-2005
Argomenti trattati nella lezione di oggi:
- Computational Reflection
- Meta-Object Protocol and Separation of Concerns
Lezione del 3-11-2005
Argomenti trattati nella lezione di oggi:
- Java Reflection
- Dynamic Proxy e Class Loading
Lezione del 10-11-2005
Argomenti trattati nella lezione di oggi:
- Dynamic Proxy e Class Loading
- Java Annotations
Lezione del 17-11-2005
Argomenti trattati nella lezione di oggi:
- .Net Reflection
- .Net modello di esecuzione
- Concetti di Metadati e Dinamic Type System
- Gerarchia delle classi della libreria Reflection
- Concetto di proprietà in C#
- Es. Serializzazione
- Dinamic Method Invocation
- System.Reflection.Emit.*
- MOP non standard
- Tipi differenti di MOP (Compile time, load time, run time-VM based, run time-Proxy based)
- Open Java
- Es. Verbose Execution
Lezione del 24-11-2005
Argomenti trattati nella lezione di oggi:
- Bytecode Instrumentation
- Tool disponibili per Bytecode Instrumentation
- JVM
- Java Class file Format
- Introduzione BCEL
- JavaClass
- org.apache.generic.*
- ClassGen
- Java Agents
- Java.lang.istrument.*
- Istrument Adaptor
- Javassist
- Architettura generale di Javassist
- ClassPool e Translator
- CtClass vs Class
- CodeConverter