Что различием разработки является веб-сайт в MVC и 3-уровневой или архитектуре N-tier?

Что различием разработки является веб-сайт в MVC и 3-уровневой или архитектуре N-tier?

Какой лучше? Что такое за и против?

24
задан Starx 16 May 2010 в 10:16
поделиться

1 ответ

Они практически одинаковы, однако в 3-Tier верхний уровень (представление) никогда напрямую не взаимодействует с нижним уровнем (сохранение данных).

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

Википедия говорит:

На первый взгляд, три уровня могут показаться похожими на концепцию MVC (Model View Controller); однако, топологически они отличаются. A фундаментальное правило в трехуровневой архитектуры является то, что клиентский уровень никогда никогда не взаимодействует напрямую с уровнем данных ярусом; в трехуровневой модели все коммуникация должна проходить через уровень промежуточного программного обеспечения. Концептуально трехуровневая архитектура является линейной. Однако архитектура MVC является треугольной: представление посылает обновления контроллеру, контроллер обновляет модель, а представление получает обновления непосредственно из Модели.

Источник: Википедия: Многоярусная архитектура

13
ответ дан 29 November 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: