EF + Automapper, это хороший подход к проекту веб-приложения ASP.NET MVC 2? - PullRequest
1 голос
/ 28 мая 2011

Я начинаю проект с MVC 2 и хотел бы знать, является ли следующая структура хорошим подходом с точки зрения дизайна.

В настоящее время я разделил свое веб-приложение на два проекта

-ApplicationModelLayer (проект библиотеки)

  • Модель

Здесь у меня есть один класс для каждой сущности моей базы данных, где я буду писать проверки и бизнес-логику. Когда я выполняю операции CRUD, я вызываю Automapper для выполнения сопоставления: MyModelClass -> EFClass.

-ApplicationViewLayer (веб-проект MVC 2)

  • Контроллеры
  • Просмотры

Применяю ли я хороший дизайн и разделение ApplicationModelLayer? Является ли это "лучше" , чем использование только EF с частичными классами для проверки?

Спасибо.

1 Ответ

3 голосов
/ 29 мая 2011

Я бы поместил классы моделей представлений и сопоставления между моделями EF и моделями представлений в ApplicationViewLayer. Поскольку модели представлений специально разработаны для требований представления, для их хранения я бы использовал папку Models веб-приложения.

Что касается слоя модели, в дополнение к папке Models у меня будут папки Repositories и Services. Repositories предназначен для операций CRUD с моделями доменов EF, а Services должен содержать бизнес-логику и более сложные операции с моделями доменов, основанных на простых операциях CRUD.

На веб-уровне действие контроллера будет использовать служебную операцию для извлечения модели домена, сопоставьте эту модель домена с помощью AutoMapper с моделью представления и передайте модель представления в представление. И наоборот: действие контроллера может получить модель представления из представления, использовать AutoMapper, чтобы отобразить его обратно в модель домена и передать эту модель на уровень обслуживания для обработки.

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