Changes between Version 7 and Version 8 of Variante2
- Timestamp:
- Aug 19, 2006, 2:33:47 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Variante2
v7 v8 29 29 linguaggio !MiniScheme sia dato e non soggetto a 30 30 cambiamenti: 31 * Si fornisca l ’implementazione di tutti i costrutti originali31 * Si fornisca l'implementazione di tutti i costrutti originali 32 32 33 33 Si assuma che il numero delle operazioni polimorfe sia … … 41 41 * Il modello deve fornire API di manipolazione specifiche e 42 42 generiche 43 * L ’aggiunta di una operazione non deve richiedere nessun43 * L'aggiunta di una operazione non deve richiedere nessun 44 44 cambiamento al modello 45 [[BR]]''20060819-1310 [SoujaK] [[BR]] 46 Le operazioni non devono perrtanto risiedere all'interno del modello, ma all' 47 esterno, negli specifici visitor/iterator. Il modello esporra' nella sua 48 interfaccia la classica `accept(AbstractVisitor)`. Raggruppare l'interfaccia 49 dei visitor permette al modello di essere totalmente indipendente dall'aggiunta 50 di nuove operazioni. 51 E per quanto riguarda gli iteratori?'' 45 52 46 53 Le scelte di design devono essere imposte al cliente. 47 * Si vuole imporre al cliente l ’uso dei pattern stabiliti (in54 * Si vuole imporre al cliente l'uso dei pattern stabiliti (in 48 55 particolare quelli creazionali) 49 56 * Il codice e i pattern non conformi a questa specifica non … … 52 59 Quali pattern creazionali? E' necessario il redesign di questa sezione, oppure 53 60 la vecchia Factory adempie gia' a questo compito? Volendo si potrebbe pensare a 54 soluzioni alternative, ma reputo la cosa a bassa priorita'. 61 soluzioni alternative, ma reputo la cosa a bassa priorita'.'' 55 62 56 63 === Scelte progettuali === 57 64 65 20060818-1918 [SoujaK] [[BR]] 66 Le API di manipolazione generica sul modello possono essere implementate in un 67 genitore comune che fornira' l'operazione di default (verosimilmente il 68 sollevamento di un eccezione). 58 69 59 70 === Appunti vari === … … 75 86 del prof. Solmi: prestate attenzione alle classi !LanguageEntity e alle varie 76 87 Abstract* (sono particolarmente chiarificatrici). 88 77 89 78 90