В чем отличие разработки веб-сайта в MVC и 3-уровневой или N-уровневой архитектуре?
В чем отличие разработки веб-сайта в MVC и 3-уровневой или N-уровневой архитектуре?
Какой из них лучше? Каковы плюсы и минусы?
Ответ 1
Они почти одинаковы, однако в 3-уровневом, верхний уровень (презентация) никогда напрямую не связывается с нижним уровнем (сохранение данных).
В модели-представлении-контроллере теоретически модель должна "уведомлять" вид, который он изменил, чтобы View мог обновлять. Однако это обычно не проблема в большинстве веб-приложений, поскольку они не имеют гражданства. Я не уверен, что в каких-либо известных PHP MVC-архитектурах есть Views, которые напрямую общаются с моделями или наоборот, но если они этого не делают, было бы правильно сказать, что они фактически являются 3-ярусными.
Википедия говорит:
На первый взгляд три уровня могут похоже на MVC (Model View Контроллер); Однако, топологически они разные. фундаментальное правило в трехуровневом архитектура - это клиентский уровень никогда напрямую связывается с данными уровень; в трехуровневой модели все связь должна проходить через промежуточный уровень. Концептуально трехуровневая архитектура линейна. Однако архитектура MVC треугольник: просмотр отправляет обновления контроллер, обновления контроллера Модель и представление обновляются непосредственно из Модели.