Version 3 (modified by 18 years ago) (diff) | ,
---|
Variante 2
Operazioni estendibili
Appunti vari
- Gli iterator sono da intendersi come esterni.
- I nostri due visitor (PrettyPrintVisitor e InterpreterVisitor) conoscono direttamente la natura dell'albero di espressioni su cui lavorano. Al cliente e' chiaramente lasciata la possibilita' di usare un iterator.
- Le Expression$NAME vanno arricchite con API di manipolazione specifica (i.e.
getter
esetter
) per permettere all'iteratore di accedere in maniera indiretta ai campi di istanza. - Branch: diventeranno figlie delle Expression ?
- (200607251758 - gnappo) Le API di manipolazione generiche sono dei getter e setter che agiscono sull'intero modello. Per approfondire seguite il link. Se non bastasse vi rimando all'esempio labss_il_model_iterators del prof. Solmi: prestate attenzione alle classi LanguageEntity e alle varie Abstract* (sono particolarmente chiarificatrici).
Operazioni aggiunte
Questo e' il posto in cui rendere note le proprie scelte.