Model-view-controller (MVC) является архитектурным шаблоном в разработке программного обеспечения, а не шаблоном проектирования , который описывает способ структурирования нашего приложения и обязанностей и взаимодействий для каждой части этой структуры. [1]
Исторически сложилось так, что MVC впервые описал в 1979 году Trygve Reenskaug как способ подхода (графический интерфейс пользователя) GUI (графический интерфейс пользователя). Реенскауг описал свои ранние Smalltalk и объектно-ориентированные концептуальные усилия следующим образом: [2]
«MVC был задуман как общее решение проблемы пользователей, контролирующих большой и сложный набор данных. Наиболее сложной задачей было поразить хорошие имена для различных архитектурных компонентов. Model-View-Editor был первым набором. После долгих обсуждений, особенно с Адель Голдберг, мы закончили работу с Model-View-Controller ».
Дикая популяризация MVC для веб-приложений объясняется его включением в две структуры, которые стали чрезвычайно популярными: Struts и Ruby on Rails. Эти две среды обозначили путь для сотен фреймворков, созданных позже. [3]
Преимущества:
Недостатки:
Подробные инструкции по настройке или установке контроллера модели.