| Eclipse RCP parte 1: Progettazione del Modello |
|
In questo tutorial vedremo come usare Eclipse Modeling Framework per gestire il Modello di un'applicazione. Se non avete già installato EMF e i relativi tools, seguite le istruzioni indicate qui. Il modello Library che useremo come esempio è preso dal Tutorial ufficiale di EMF : esso è costituito da due entità, Author e Book. - Author: ha un attibuto String name Ok, iniziamo col creare un nuovo (File->New->Other...) Empty EMF Project
diamogli un nome (es. com.rcpvision.rcptutorial.model) e clicchiamo Finish. Selezioniamo la cartella model creata dallo wizard EMF, tasto destro New->Other->Ecore Tools->Ecore Diagram
premiamo Next, cambiamo il valore del campo Domain file name in Library.ecore
e premiamo Finish. Ci troveremo davanti ad un foglio bianco dove possiamo letteralmente disegnare il nostro modello.
iniziamo quindi trascinando un oggetto EClass dalla Palette sulla pagina bianca e rinominiamolo in Author
poi muoviamo il cursore sopra il box e selezioniamo l'icona corrispondente all'azione "Add EAttribute" e rinominiamo l'attributo in name poi eseguiamo tasto destro sull'attributo name e selezioniamo Show Properties View andiamo alla Properties View, clicchiamo il tasto a destra del campo EType digitiamo ad esempio "ES" per filtrare la lista proposta e selezioniamo EString come tipo di attributo
facciamo la stessa cosa per l'entità Book e il suo attributo String title.
ora, per aggiungere all'entità Book un attributo con riferimento ad Author, clicchiamo sull'icona EReference sulla Palette
poi clicchiamo sull'entità Book e rilasciamo il mouse sull'entità Author
rinominiamo il riferimento come author
Notate che abbiamo appena creato un legame 0..1 chiamato author da Book ad Author. Se ora salviamo il file .ecorediag e apriamo il file .ecore, vedremo questo
Potreste preferire gestire il Modello EMF direttamente attraverso l'editing di questo file .ecore (potete trovare un esempio qui), è semplicemente una questione di preferenze. Per questo motivo selezioniamo il file .ecore, tasto destro New->Other...,
selezioniamo EMF Generator Model
clicchiamo Next clicchiamo Next di nuovo e di nuovo ora clicchiamo il tasto Load , poi Next
e Finish. Alla fine abbiamo ottenuto un file Genmodel :
dal quale possiamo generare il sorgente del Modello, semplicemente con tasto destro e selezionando Generate Model Code
ed ... ecco il codice del Modello, scritto per voi da EMF!
Prendetevi un po' di tempo per dare un'occhiata al codice generato e chiedetevi quanto tempo ci sarebbe voluto per creare a mano tale codice (considerate ad esempio che questo codice contempla, fra le altre cose, un meccanismo di notifica associato ad ogni metodo setter, solo per menzionare un aspetto). Vediamo ora come EMF sia efficace quando si tratta di mantenere un Modello, cioè, quando si rende necessario modificare il Modello stesso. Per far ciò, immaginiamo di renderci conto, all'improvviso, che un'entità Book può avere più di un Author! Dunque, abbiamo bisogno di una Collection al posto di un semplice attributo!
per avere il codice del Modello aggiornato.
Quali sono dunque i vantaggi dell'introduzione di EMF ?
|




























Commenti