Способы реализации Unit Work в ASP.NET MVC - PullRequest
10 голосов
/ 20 сентября 2010

В настоящее время я изучаю, как добавить шаблон Unit of Work в мое существующее приложение ASP.NET MVC, которое использует NHibernate.Я вижу большое разнообразие в различных реализациях, и у меня возникают проблемы с определением того, какие методы будут работать лучше всего в данной ситуации.

Чтобы помочь, я решил попросить сообщество Stack Overflow перечислить ихлюбимые способы реализации шаблона Unit of Work в своих приложениях ASP.NET MVC.

Возможно, вы используете IoC для создания экземпляра сеанса NHibernate при создании контроллера, а затем передаете его в хранилище.Или, может быть, вы создаете единицу рабочего класса / интерфейса.Не стесняйтесь ссылаться на дополнительные ресурсы после описания вашего подхода.

Кроме того, обязательно перечислите все плюсы и минусы, связанные с вашим методом, если они существуют.

Ответы [ 2 ]

6 голосов
/ 20 сентября 2010

Я реализовал шаблон Repository / UoW вокруг объектов POCO Entity Framework 4, и он оказался очень хорошим для нас.Мы открываем UoW только для уровня Business / Service, и у нас есть Controller или Presenter в нашем случае, чтобы вызывать эти службы для выполнения или извлечения данных.

Шаблон, который мы реализовали, использовал следующую статью в качестверуководство: http://msdn.microsoft.com/en-us/library/ff714955.aspx

3 голосов
/ 20 декабря 2012

Это фантастическое руководство по предмету, которым я пользовался с большим успехом при юнит-тестах.

http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

...