Cartografiere obiect-relațională

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În informatică, Obiectivul-Relational Mapping ( ORM ) este o tehnică de programare care favorizează integrarea sistemelor software care aderă la paradigma de programare orientată obiect cu sistemele RDBMS .

Un produs ORM oferă, printr-o interfață orientată obiect, toate serviciile inerente persistenței datelor, abstractizând în același timp caracteristicile de implementare ale RDBMS specifice utilizate.

Descriere

Principalele avantaje ale utilizării unui astfel de sistem sunt următoarele.

  • Depășirea (mai mult sau mai puțin completă) a incompatibilității fundamentale dintre proiectul orientat pe obiect și modelul relațional pe care se bazează majoritatea RDBMS-ului actual.
  • Portabilitate ridicată în ceea ce privește tehnologia SGBD utilizată: la schimbarea SGBD rutinele care implementează stratul de persistență nu trebuie rescrise; în general, este suficient să schimbați câteva linii în configurația produsului pentru ORM-ul utilizat.
  • Reducere drastică a cantității de cod sursă de scris; ORM maschează activitățile complexe de creare, recuperare, actualizare și ștergere a datelor (numite CRUD - Creați, Citiți, Actualizați, Ștergeți ) în spatele comenzilor simple. Astfel de activități ocupă de obicei un procent bun din timpul total de proiectare, testare și întreținere. Mai mult, acestea sunt prin natura lor foarte repetitive și, prin urmare, favorizează posibilitatea ca greșelile să fie făcute în timpul scrierii codului care le implementează.
  • Acesta sugerează realizarea arhitecturii unui sistem software printr- o abordare stratificată , având astfel tendința de a izola logica persistenței datelor într-un singur nivel, în avantajul modularității generale a sistemului.

Cele mai populare produse ORM din prezent oferă adesea în mod nativ caracteristici care altfel ar trebui create manual de către programator :

  • Încărcarea automată a graficului obiectelor în funcție de legăturile de asociere definite la nivel de limbă. Încărcarea unei instanțe ipotetice a clasei Student ar putea cauza automat încărcarea datelor legate de examenele susținute. Mai mult, această încărcare poate avea loc numai dacă datele sunt de fapt solicitate de program și sunt altfel evitate (tehnică cunoscută sub numele de inițializare leneșă ).
  • Gestionarea concurenței în accesul la date în timpul conversațiilor . Conflicte în timpul modificării datelor de către mai mulți utilizatori în același timp pot fi detectate automat de sistemul ORM.
  • Mecanisme de stocare a datelor în cache . De exemplu, dacă se întâmplă ca aceleași date să fie preluate de mai multe ori din RDBMS, sistemul ORM poate oferi automat suport pentru cache care îmbunătățește performanța aplicației și reduce sarcina pe sistemul DBMS.
  • Gestionarea unei conversații utilizând modelul de proiectare a Unității de lucru , care întârzie toate acțiunile de actualizare a datelor atunci când conversația este închisă; în acest fel, cererile trimise către RDBMS sunt cele strict indispensabile (de exemplu, numai ultima dintr-o serie de actualizări este efectuată pe aceleași date sau o serie de actualizări nu se efectuează deloc pe date care ulterior sunt șterse); în plus, dialogul cu SGBD are loc prin compunerea mai multor interogări într-o singură declarație, limitând astfel numărul de timp -retur necesar și, în consecință, timpul de răspuns al aplicației la un nivel minim.

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT