Шаблон проектирования Модель – Представление – Контроллер
(MVC) – это шаблон программной архитектуры, построенный на основе сохранения представления данных отдельно от методов, которые взаимодействуют с данными [5].
Не смотря на то, что схема MVC была первоначально разработана для персональных компьютеров, она была адаптирована и широко используется веб-разработчиками из-за точного разграничения задач и возможности повторного использования кода. Схема стимулирует развитие модульных систем, что позволяет разработчикам быстро обновлять, добавлять или удалять функционал.
Моя соц.сеть организуется по так называемому паттерну MVC. В Django этот паттерн называют MVT, но сути это не меняет. Что из себя представляет MVC: Модель (Model), Представление (View), Контроллер (Controller). Модель отвечает за работу с данными. Она взаимодействует с базой данных, проверяет данные на корректность, создает расчетные данные в случае необходимости. Представление отвечает за то, как эти данные будут выглядеть, придает им удобочитаемую форму. Контроллер является прослойкой между моделью, представлением и посетителем сайта. Когда посетитель сайта запрашивает страницу, этот запрос передается контроллеру. Он в свою очередь собирает все модели, которые могу пригодиться, и просит их предоставить данные. Потом контроллер выбирает представление, которое лучше всего отвечает запросу пользователя и передает ему данные. Сформированная страница (представление) передается как ответ на запрос.(рис.2).В Django начинается небольшая путаница, поскольку в его терминах этот паттерн называется Model-View-Template (Модель-Представление-Шаблон). Однако View в Django скорее выполняет функцию контроллера, а Template — представления.
Рисунок 2 - Схема шаблона MVC
На рисунке показана структура одностороннего потока данных и пути его следования между различными компонентами, а также их взаимодействие.
Дата | Выполнено, % |
---|---|
2020-05-22 14:28:25 | 10 |
2020-05-14 14:57:56 | 100 |