ASP.NET MVC 3 лучшие практики / дизайн - PullRequest
3 голосов
/ 19 января 2012

Я потратил много времени на поиск лучших практик для разработки веб-сайта ASP.NET MVC 3 с использованием EF 4.1 или другого ORM. Я нашел это руководство по реализации репозитория и шаблонов единиц работы в приложении ASP.NET MVC . Это был хороший урок, и я кое-чему научился. Так что это заставило меня задуматься и захотеть узнать от людей в стеке, это то, что вы будете использовать? если нет, то почему и как вы разработали свой веб-сайт? Я просто хочу научиться правильно делать вещи и понять, почему один способ лучше, чем другой.

1 Ответ

2 голосов
/ 19 января 2012

Сначала скажем, что Entity Framework реализует шаблон репозитория и шаблон единицы работы.Реализация шаблонов Repository и Unit of Work поверх современной ORM-подобной Entity Framework является дополнительным уровнем абстракции, который:

  • сужает возможности базового ORM
  • и не предоставляет дополнительныхзначение для лежащего в основе ORM
  • в лучшем случае бесполезно, но может быть вредным

Одна из целей таких реализаций состоит в том, чтобы инкапсулировать логику запроса в репозитории, а не один запрос, такой как принцип единой ответственности( SRP ) предложил бы, но пару запросов и тем самым нарушить SRP.Что вы могли бы сделать, так это полагаться на свою ORM и инкапсулировать обширную логику запросов в отдельных классах запросов.

Мое предложение состоит не в том, чтобы угодить «лучшим практикам», добавляя уровни абстракции на уровнях абстракции и т. Д., А в том, чтобы попытатьсярешить проблему, используя некоторые более общие рекомендации по проектированию, такие как SOLID .

Айенде Рахен рассматривает приложение Starter Kit Northwind Starter в серии постов в блоге ( здесь , здесь , здесь , здесь , здесь , здесь , здесь и здесь) в его блоге , посвященном так называемым лучшим практикам, применяемым в приложении.Это отличное чтение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...