0

Я хотел бы знать, что означает реализовать трехуровневую архитектуру в asp.net mvc?Архитектура с тремя уровнями в asp.net mvc

Я видел много сообщений об этом, которые упоминаются таким образом. Но я так смущен этим. Разделение модели MVC на другое решение под названием Business Layer, известное как реализация трехуровневой архитектуры в mvc? Если нет, то каков правильный способ реализации трехуровневой архитектуры в mvc?

Тип 1
Уровень представления: "Контроллеры и представления" от MVC шаблон.
Бизнес-уровень: «Модель (данные)» из шаблона MVC.
Уровень доступа к данным: исходный уровень доступа к данным.

Тип 2
Уровень представления: Все в MVC, за исключением модели
Business Tier: Seperate модель из
доступа к данным уровня: сама база данных

ответ

1

Это больше похоже на это:

  • Презентационный уровень: Ведение дел, связанных с MVC
  • Бизнес Tier: Отдельный домена модели ядра (это не 'М' из MVC). Он может включать в себя уровень сервиса , чтобы обеспечить чистый интерфейс по модели домена.
  • данных Tier: База данных

MVC сама просто яруса презентации - конкретный шаблон, и ASP.NET MVC это просто основа для создания веб-интерфейсов.

модель в MVC также называется View Model, что означает, что это только ответственность заключается в моделировании View; Он передает данные между контроллером и Просмотр, чтобы сохранить их развязанными. Не путайте модель в MVC с шаблоном модели домена, который применяется к бизнес-уровню.

Ввод бизнес-логики в модели MVC может работать для более простых проблем или прототипов, но это будет не то, что они называют трехуровневой системой.

Microsoft Application Architecture Guide - бесплатная электронная книга от Microsoft о том, как проектировать и структурировать ваши решения и многое другое.

+0

Я добавил ссылку на соответствующую электронную книгу от Microsoft - она ​​доступна бесплатно – astreltsov

0

Я не видел оптимальный вариант для трехуровневой архитектуры с MVC. Это действительно сводится к тому, что лучше всего подходит для вас. В обмене тем, как мы реализуем архитектуру MVC, это может быть не самое лучшее, но сегодня лучший способ пойти на второй план - завтра станет вторым лучшим способом.

Проект веба-интерфейс содержит мнения и контроллеры - уровень представления

В отдельном проекте, создавать классы обслуживания, которые называются контроллерами - бизнес-логику.

Модели классов также находятся в этом втором проекте, служащем слоем бизнес-объекта, который ссылается на уровень представления.

Любые услуги, требующие какого-либо взаимодействия с db, находятся в отдельных классах во втором проекте. --Для доступа к данным.

Кроме того, у нас есть класс композиции услуг, который при необходимости генерирует все или любые конкретные услуги. - Я бы также связал это с уровнем бизнес-логики.

Для этого мы отлично работаем.

+1

Это смущает [уровни и уровни] (https://stackoverflow.com/questions/120438/whats-the-difference-between-layers и-ярусы) – astreltsov