0

Я хочу создать приложение с многоуровневой архитектурой. У меня есть отдельныйкак разделить библиотеку моделей при использовании идентификатора asp.net

  • Модели проект только с классами модели проекта
  • данных отвечают за конфигурацию CodeFirst, миграция и т.д., проект
  • службы, ответственным за бизнес-логику, и сохранение данных в базе данных с помощью EF
  • Dto проект с классами, используемыми между веб-приложением и сервисом
  • Веб-проект с приложением asp.net mvc.

Моя цель состояла в том, чтобы отделить эти проекты, чтобы веб-проект ничего не знал о модели и данных - он просто потребляет Сервис, используя классы Dto, поэтому веб-проект должен просто ссылаться на Service и Dto. Все было отлично, пока я не сконфигурировал идентификатор Asp.Net. Чтобы настроить авторизацию, мне пришлось ссылаться на проект Data and Model, который я хотел избежать. Возможно ли достичь моей цели и (если да), как это сделать.

Мой второй вопрос: есть ли у меня смысл отделить точку зрения?

ответ

0

Я мог бы разделить все объекты ASP.NET Identity на свой собственный проект, в котором содержатся как данные доступа к данным, так и модели идентификации. Подумайте об этом как о разделении проблем более остро или по предмету, а не по функциям.

Таким образом, ваше веб-приложение будет ссылаться на Service, Dto и Identity, и у всех, кажется, есть свой уголок мира.

Цель, imo, не обязательно разворачивать код с помощью аналогичной функциональности, но устранять зависимости, в которых нет необходимости, и скрывать (или, скорее, защищать) знания домена в изолированные и авторитетные блоки.

Да, ваш дизайн в основном прочный и в целом хорошо работает.