Фасад / Уровень обслуживания БЕЗ Багажа - PullRequest
0 голосов
/ 23 ноября 2011

с использованием MVC3, Code First (DbContext)

Есть ли способ реализации (в идеале) фасада или, возможно, сервисного уровня для разделения MVC3 / EF4.2 БЕЗ также написания репозиториев и единиц работы? Я считаю хранилище и единицу работы настолько избыточными, насколько они уже есть в EF. Я думаю, что люди, которые их создают, упускают суть, но, возможно, я ошибаюсь.

Скорее, я хотел бы видеть своего рода менеджера для нескольких DbContexts и Фасада, использующего это, но я не могу на всю жизнь решить это.

Есть идеи? В идеале указатель на действительно хороший эталонный проект был бы идеальным.

Чтобы было понятно, я хочу [Любой клиент] -> ([Сервис] | [Фасад]) -> [Модель] -> [Данные] без необходимости непрерывно создавать классы репозитория.

R.

P.s. Такие вещи были источником вдохновения: ( ObjectContextManager ). Вы можете вырезать чертовски много кода, сделав его многократно используемым, а затем беспокоясь только о написании ваших фасадных классов.

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Да, это возможно, но решение остается за вами.Просто переместите любую логику из контроллера в специализированный метод в фасаде и оберните все EF-доступ в этом методе.По мере развития вашего проекта выявляйте общие (повторно используемые) части вашего фасадного слоя и реорганизуйте свой код для составления окончательной функциональности из этих повторно используемых частей.Это типичная работа разработчика SW, поэтому я не уверен, что вы ищете.Просто попробуйте.

0 голосов
/ 29 ноября 2011

Это оказалось захватывающим детективным следом. Чтение о различных методах привело меня к убеждению, что, хотя МНОГИЕ люди пишут и используют эти бесчисленные методы, немногие из них действительно понимают реальное применение в реальных условиях или необходимость этих методов. Акцент на реальном мире.

В своих поисках я вспомнил, что у меня была копия шаблона проектирования .Net 4 с сайта www.dofactory.com. В этом есть справочное приложение (Patterns in Practice) и deep , в котором есть ответ (если не фактическая реализация) на мой вопрос.

Свет в конце ненужного длинного туннеля и все такое.

В конце концов, я надеюсь, что следующий выпуск WCF Data Services, oData и Entity Framework позволит мне отбросить практически все, а затем просто иметь клиент -> сервис -> домен; все в удивительно простом коде.

...