Bonjour à tous
J'étudie la manière dont je pourrais me servir du modèle n-tiers avec NHibernate (d'ailleurs ca ne touche pas que NHibernate mais toute partie touchant au DAL) et je me pose une question.
Dans la question qui suit, nous ne parlerons pas de la couche présentation mais uniquement couche métier et couche données.
Imaginons un projet avec quelques classes métier et un autre projet avec la partie accès aux données.
Afin de respecter la séparation entre les couches et éviter de coupler fortement les deux, il est assez simple d'imaginer la chose suivante pour les opérations CRUD :
Une simple classe DALCRUD qui possèderait ce genre de méthodes :
Avec SessionFactory.CurrentSession retournant la session nhibernate courante si elle est créée ou alors la créant le cas echéant et retournant cette nouvelle instance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Void Create(object item) { SessionFactory.CurrentSession.Save(item); }
Bref cette fameuse classe permettrait de réaliser les opérations CRUD sans se soucier du type de l'objet passé en paramètre, donc jusqu'ici tout va bien.
Maintenant, là ou ça me titille, c'est pour les requetes un peu plus ciblées. Comment feriez vous ? Imaginons que l'on veuille récupérer les objets dont telle propriété est < à 50, c'est ultra spécifique comme demande. Or cette demande devrait se faire coté DAL et non coté métier.
Que feriez vous ? avez vous des retours d'expérience ?
Merci d'avance
@ +
Partager