logo search
5 модуль

16.3. Шаблон проектирования Модель-Представление-Контроллер

В этом параграфе рассматривается шаблон проектирования Модель-Представление-Контроллер (Model-View-Controller, MVC), который используется при проектировании многослойных приложений с пользовательским интерфейсом (обычно графическим).

В архитектуре MVC выделяются три слоя и разграничиваются их полномочия следующим образом:

Шаблон постулирует, что модель, представление и контроллер — это отдельные компоненты, причем модель не должна зависеть ни от контроллера, ни от представления.

На приведенной схеме стрелками обозначены зависимости одного компонента шаблона от другого:

Главное в шаблоне Модель-Представление-Контроллер:

Разработка модели ведется с учетом того, какие данные, алгоритмы или расчеты должны поддерживаться приложением. Разработка контроллера и представления направлены на организацию взаимодействия с пользователем (клиентом) и главной целью ставится удобство интерфейса.

Благодаря такому разделению возможно 1) поддерживать несколько представлений для одной модели; 2) не засорять модель интерфейсным кодом, не соответсвующим ее сущности; 3) оставить в коде представления только презентационную логику.