Nous souhaitons tirer parti de la fonctionnalité "Unité de travail" de nHibernate. Pour ce faire, dans notre application C# WinForms, nous devons ouvrir une session à partir de la couche d'interface utilisateur i.e lorsqu'un formulaire s'ouvre. Effectuez du travail, puis fermez la session lorsque nous fermons le formulaire.nHibernate -> Dépendance dans la couche d'interface utilisateur
Cette forme approche basée semble très logique à l'exception du fait que nous avons besoin maintenant une référence à NHibernate de notre couche d'interface utilisateur! Où devrions-nous référencer nHibernate, j'aurais pensé que nous pourrions accomplir ceci sans avoir à le référencer à partir de notre couche d'interface utilisateur?
Pourquoi cela n'est-il pas logique? La limite de l'unité de travail est déterminée par l'interface utilisateur, donc pour moi, cela semble très logique. – Paco
Paco, il est logique d'avoir l'interface utilisateur comme limite pour UoW, mais avoir une référence à une bibliothèque de persistance concrète dans la couche d'interface utilisateur est une puanteur de code. L'interface utilisateur ne devrait rien savoir sur une implémentation spécifique, elle ne devrait porter que sur le concept d'UoW. Ryudice a essentiellement répondu à la question de Josata. –
Si vous créez un wrapper autour de celui-ci, l'interface utilisateur connaît également l'implémentation, elle connaît le contour de l'encapsuleur et pour éviter cela, vous avez besoin d'un wrapper autour d'un wrapper, etc. – Paco