MVC

R5AM, Александр Ящук, Москва, 2018г.
На главную


MVC
Конструкционный шаблон, с идеей чёткого разделения ответственности за различное функционирование в приложении между тремя основными компонентами: Модификация каждого компонента может осуществляться независимо.
Повышается возможность повторного использования кода.

Model
Предоставляет данные (например, из БД) и методы работы с ними, содержит логику приложения для решения бизнес задачи.
Реагирует на команды контроллера.
Не имеет точек взаимодействия с пользователем.
Модели могут инкапсулировать в себе другие модели.
View
Отображает пользователю данные, полученные от модели.
Отображений много, контроллер выбирает подходящее наилучшим образом для текущей ситуации.
Не обрабатывает введённые данные пользователя.
Controller
Обрабатывает запросы пользователя (например, HTTP GET и POST запросы), анализирует запросы, выбирает соответствующее запросу и задаче следующее действие системы, модель и подходящее отображение.
Контроллер содержит в основном организационную логику для самого приложения, является связующим звеном между компонентами приложения.

Антипаттерн в MVC
Толстые, тупые, уродливые контроллеры (Fat Stupid Ugly Controllers).
Когда модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику и разрастается.




На главную
К началу страницы