Я изучал различные шаблоны для создания многоуровневого приложения MVC, и мне нужен небольшой совет. В настоящее время у меня есть следующее:
1) Модель домена POCO, без бизнес-логики вообще, поэтому в основном анемичная модель домена.
2) EntityFramework с уровнем репозитория, который возвращает объекты домена.
3) Уровень обслуживания, теперь я не уверен, что это уровень службы приложения или уровень службы домена, но в основном это API в отношении модели домена. Вся бизнес-логика находится на этом уровне и гарантирует, что объекты домена действительны, а затем передает их в репозитории для сохранения через EF обратно в БД.
4) Приложение ASP.NET MVC, это приложение обращается к уровень обслуживания, чтобы получить необходимые объекты.
Мне нравится, как это работает, поскольку он обеспечивает единую точку взаимодействия с моделью предметной области, но, как мне кажется, мне нужен промежуточный слой между уровнем сервиса и приложением mvc. Ответственность за этот уровень будет заключаться в преобразовании объектов домена в модели представления и из них, с которыми контроллер может взаимодействовать, чтобы получить точные данные, необходимые представлению, и предоставить заполненные объекты домена обратно на уровень службы. Будет ли это уровень службы приложения, а упомянутый выше уровень службы - это уровень службы домена?
Я использую AutoMapper для получения объектов домена в моделях представления, но я не уверен в стандарте их возврата в объект домена.
Любые советы или идеи были бы замечательными.