BT

Accueil InfoQ Actualités ORM et l'ignorance de persistance

ORM et l'ignorance de persistance

Favoris

Julie Lerman a récemment souligné qu’Entity Framework peut fonctionner avec des classes ayant des constructeurs et des mutateurs privés.

Le test publié par Julie, montre qu’Entity Framework (EF) est capable d’invoquer un mutateur ou un constructeur privé sans trop de difficultés. Vous pouvez remarquer qu’EF fait cela en se référant à EntityProxyFactory et ses classes connexes, mais il s'agit essentiellement d'une combinaison de reflection et d’IL Emits. NHibernate va plus loin et prend même en charge l’accès aux propriétés privées (discuté également pour EF). Toutefois, les deux exigent actuellement que vous ayez un constructeur par défaut (même s’il n’est pas public).

Cette orientation générale est meilleure parce que, comme le mentionne Julie, elle favorise l’ignorance de persistance.

Architecturalement, Entity Framework et NHibernate supportent l’utilisation des modèles qui permettent d'achever l'ignorance de la persistance :

  • Repository
  • Unit of work

Entity Framework contient respectivement DbSet et DbContext, alors que NHibernate inclut l’api QueryOver et SessionContext. D'autre part, pour supporter le chargement tardif, ils suivent actuellement le modèle de proxy virtuel qui s’oppose à ce principe (besoin de marquer les propriétés comme virtuelles).

L'ignorance de persistance est généralement considérée comme une bonne pratique, les règles métier peuvent être isolées de la logique de persistance, contrairement, par exemple, lors de l'utilisation du modèle Active Record. Cela permet de maintenir la conception globale simple et facile à tester.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Votre profil est-il à jour? Merci de prendre un instant pour vérifier.

Note: en cas de modification de votre adresse email, une validation sera envoyée.

Nom de votre entreprise:
Rôle dans votre entreprise:
Taille de votre entreprise:
Pays/Zone:
État/Province/Région:
Vous allez recevoir un email pour confirmer la nouvelle adresse email. Ce pop-up va se fermer de lui-même dans quelques instants.