dimmi che ORM usi....(e ti dirò chi sei)

Vediamo di stuzzicare la curiosità di quelli interessati a intraprendere le vie dell'ORM (e non).
Titolo esteso del post: Perchè NHibernate è meglio
Non sto qui a dirvi cosa è un'ORM ma ritengo sia importante almeno dare una classificazione.
Ottima quella di Fussell che nel 1997 vedeva già questa separazione

  • Light Object Mapping
    Entità sono rappresentate da classi e mappate manualmente sulle tabelle relazionali
    l'accesso ai dati è incapsulato in oggetti DAO e nascosto alle business logic class
    Uso di stored procedure
    Ottimo per applicazioni con basso numero di entità
  • Medium Object Mapping
    L'applicazione è progettata attorno ad un object model
    le istruzioni SQL sono generate in build time da un framework apposito
    L'associazione tra oggetti è supportata dal meccanismo di persistenza
    Gli oggetti possono essere cachati (non so come scriverlo in italiano!) sul layer di persistenza
    Nessun uso di stored procedure
  • Full Object Mapping
    Supporto di un sofisticato Object Model (Composizione, Ereditarietà, Polimorfismo)
    Il layer di persistenza implementa la cosiddetta persistenza trasparente cioè le classi non devono ereditare da nessuna classe base o implementare qualche tipo di interfaccia
    Strategia efficente di Fetching (caricamento Lazy e Eager Fetching)
    Linguaggio di interrogazione totalmente a oggetti

Secondo questa classificazione Nhibernate si colloca OVVIAMENTE sul terzo livello.
(Considerazione semiseria: per me il terzo livello glielo hanno fatto apposta)
Non ho ancora pronta la tabella comparativa dei vari ORM sul mercato (ovviamente sarà pronta per il seminario),
ma vi assicuro che sono pochi quelli che riescono ad arrivano a quel livello.

Ulteriori approfondimenti ovviamente....
Sempre qui
Scrivere meno codice usando blocchi già pronti? Si può: NHibernate e Enterprise Library! 

Print | posted on mercoledì 31 agosto 2005 13:42

Comments on this post

# re: dimmi che ORM usi....(e ti dirò chi sei)

Requesting Gravatar...
Simone:
Si, in NH il DAL è unico ed è configurabile per l'accesso a qualsiasi DB dall'esterno tramite app.config (o web.config) o in mille altri modi.
Ti anticipo che sto scrivendo un articolo per ugidotnet, un primer per NHibernate, e ci sarà molta roba sul fuoco.
Left by Giancarlo Sudano on ago 31, 2005 5:03
Comments have been closed on this topic.