Object-relational mapping: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 195.103.196.33 (discussione), riportata alla versione precedente di 89.186.83.215
Etichetta: Rollback
Pontsort (discussione | contributi)
Nessun oggetto della modifica
Riga 20:
* Gestione della [[concorrenza (informatica)|concorrenza]] nell'accesso ai dati durante ''conversazioni''. Conflitti durante la modifica di un dato da parte di più utenti in contemporanea, possono essere automaticamente rilevati dal sistema ORM.
 
* Meccanismi di [[Cache|caching]] dei dati. Per esempio, se accade che uno stesso dato venga prelevato più volte dal RDBMS, il sistema ORM può fornire automaticamente un supporto al ''caching'' che migliori le prestazioni dell'applicazione e riduca il carico sul sistema DBMS.
 
* Gestione di una ''conversazione'' mediante uso del [[design pattern|''design pattern'']] [[Unit of Work]], che ritarda tutte le azioni di aggiornamento dei dati al momento della chiusura della ''conversazione''; in questo modo le richieste inviate al RDBMS sono quelle strettamente indispensabili (per es. viene eseguita solo l'ultima di una serie di update su uno stesso dato, oppure non viene eseguita affatto una serie di update su di un dato che in seguito viene eliminato); inoltre il colloquio con il DBMS avviene mediante composizione di [[query]] multiple in un unico statement, limitando così al minimo il numero di [[Round Trip Time|''round-trip-time'']] richiesti e, conseguentemente, i tempi di risposta dell'applicazione.
 
L'uso di un ORM favorisce il raggiungimento di più alti [[Qualità del software|standard qualitativi software]], migliorando in particolare le caratteristiche di correttezza, manutenibilità, evolvibilità e portabilità.