![]() |
|||||||||||||||||||||||||||||||
|
Home/Caratteristiche ORM Il punto di forza della Document Orientation è il sistema ORM (Object Relational Mapping), che consente la gestione automatica del caricamento e del salvataggio degli oggetti nel database. Tramite queste caratteristiche è possibile costruire un’intera applicazione gestionale senza scrivere nemmeno una query, perché queste saranno tutte generate automaticamente dal sistema. La DO non usa un particolare metodo di annotazione per definire il rapporto fra oggetti e database. Esso è già implicito nel metodo di creazione degli oggetti, a tutto vantaggio della velocità di sviluppo. Tutti i documenti gestiti dall’applicazione sono infatti oggetti che derivano dalla classe base IDDocument, in essa sono definiti i metodi, le proprietà e gli eventi che governano il ciclo di vita del documento. Ad esempio, il caricamento dal database avviene tramite il metodo LoadFromDB, che permette di caricare l’oggetto, tutto o in parte, come si vede nella seguente immagine.
E’ anche possibile caricare intere collection di documenti tramite i metodi LoadCollectionByExample, e LoadCollectionFromRecordset. Il metodo di caricamento può essere personalizzato tramite la definizione di query di caricamento del documento o della collection, oppure tramite eventi. Nel seguente esempio, viene utilizzato il metodo BeforeLoad per caricare il documento tramite una chiamata a un web service invece che dal database.
Di particolare interesse è anche la funzione GetLinkedDocument che ritorna i documenti correlati a quello attuale. Guarda ad esempio come è semplice caricare il documento Prodotto partendo dalla RigaOrdine. In questo modo non è necessario memorizzare puntatori a documento direttamente negli oggetti: si possono prelevare al volo quando servono.
Passando alla fase di validazione e salvataggio, essa viene avviata semplicemente chiamando il metodo SaveToDB, chiamata che può essere effettuata all'occorrenza anche dal framework. In questo caso l’ordine degli eventi seguirà il seguente schema.
La fase di salvataggio solitamente avviene in un'unica transazione, e la gestione delle transazioni può essere personalizzata. Quello che abbiamo visto a livello di database può avvenire anche a livello di file XML, in modo da poter interscambiare intere gerarchie di oggetti con una o due righe di codice. Queste sono solo le principali caratteristiche ORM di Instant Developer, per vederle tutte vai alla documentazione in linea oppure clicca qui per vedere come i documenti vengono gestiti dal Presentation Layer.
|
Indice del percorso
|
||||||||||||||||||||||||||||||