Паттерн MVC

MVC (Model-View-Controller) — шаблон проектирования архитектуры приложений. Он используется чтобы разделить логику всего приложения на три элемента, связанных друг с другом. Это позволяет разделить представление информации “внутри” приложения и то, как эту информация видит и вводит пользователь. Благодаря этому упрощается поддержка приложения “на большой дистанции”, то есть в долгосрочной перспективе такое приложение будет легче поддерживать чем приложение у которого вообще нет никакой архитектуры.

Данный шаблон делит логику приложения на три части:

  1. Model (Модель). Отвечает за представление данных “внутри” приложения. Зачастую это слой, который отвечает за получение данных либо из базы данных в самом приложении, либо за совершение запросов на сервер. Так же данный слой содержит бизнесс-логику приложения
  2. View (Представление). Отвечает за представление данных модели пользователю, а так же за интерпретацию действий пользователя (например пользователь нажал кнопку, ввел текст и тд). Отправляет действия пользователя в контроллер
  3. Controller (Контроллер). Контроллеру приходят действия пользователя. Можно представить что это геймпад, которым управляет пользователь. Контроллер отвечает за прием действий пользователя, интерпретацию данных действий и изменение модели в соответствии с данными действиями

В итоге получается такая схема, что Пользователь использует Контроллер для взаимодействия с приложением, Контроллер интерпретирует, что сделал пользователь и оповещает Модель о том, как ей нужно измениться, Модель меняется и оповещает Представление о том, что Представлению нужно отобразить на экране новые данные для Пользователя.

Замкнутый круг: Пользователь использует Контроллер, Контроллер меняет Модель, а Модель обновляет Представление, которое видит Пользователь.

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *