Перейти к содержанию

Паттерн проектирования MVC

Паттерн проектирования MVC — распространенный шаблон проектирования представлений с пользовательским интерфейсом. По сути, задача шаблона — отделение управления данными и манипулирования данными от их визуального представления.
Рассмотрим типичный запрос на примере запроса из предыдущего раздела.
Pasted image 20220107162310.png
В целом, порядок событий при ответе на запрос, следующий:

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

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

Note

Можно рассматривать каждый обработчик страниц Razor как мини-контроллер, ориентированный на одну страницу. Хотя существует много разных контроллеров, все они взаимодействуют с одной моделью приложения.

После обновления модели контроллеру необходимо решить, какой ответ сгенерировать — HTML-представление, перенаправление на другую страницу или сообщение об ошибке.
Одним из преимуществ независимости модели от представления является тестируемость, так как зависимость от конструкций пользовательского интерфейса вносит хрупкость в тесты.


Последнее обновление : 14 апреля 2023 г.
Дата создания : 21 сентября 2022 г.

Комментарии

Комментарии