Я изначально собирался сделать этот вопрос более длинным, но мне кажется, что чем короче я это сделаю, тем лучше вы поймете, что я имею в виду.
-
Архитектура архитектуры MVC имеет 3 зависимости. Вид зависит от модели. Контроллер зависит от вида и модели. Модель независима.
-
Архитектурный шаблон слоев определяет зависимости N - 1, где N - количество слоев.
Учитывая три слоя: модель, представление и контроллер, есть только 2 зависимости, в отличие от 3 с традиционным MVC. Структура выглядит следующим образом:
View ---> Controller ---> Model
[Просмотр зависит от контроллера, контроллер зависит от модели]
Мне кажется, что этот стиль выполняет одни и те же цели и создает более слабую связь. Почему этот стиль не является более распространенным? Выполняет ли он по-настоящему одни и те же цели?
Изменить: Не ASP.NET MVC, просто шаблон.
Что касается сообщения griegs:
- Что касается насмешек, Layers по-прежнему позволяет использовать шаблон Command Processor для имитации нажатия кнопок, а также для любого другого диапазона событий.
- Изменения в пользовательском интерфейсе все еще очень просто, возможно, даже проще. В MVC контроллер и просмотр имеют тенденцию объединяться. Слои создают строгое разделение. Оба слоя являются черными ящиками, которые могут свободно меняться в процессе реализации.
- Контроллер имеет 0 зависимостей от представления. Вид может быть записан, и время может быть сохранено с помощью свободной связи.