Tecniche speciali di programmazione/2005-2006

Da WikiDsy.

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