Способы реализации единицы работы в ASP.NET MVC

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

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

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

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


person Community    schedule 20.09.2010    source источник


Ответы (2)


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

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

person Community    schedule 20.09.2010

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

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

person Community    schedule 20.12.2012