Что такое MVC в программировании

Современные сайты интерактивные и динамичные — они реагируют на действия пользователя, обрабатывают его запросы и выдают результат. Так работают многие онлайн-сервисы, например, интернет-банкинги или онлайн-кинотеатры. Для создания интерактивных и динамичных сайтов обычно используется архитектурный паттерн MVC. Рассказываем простыми словами, в чем суть этой модели.

Что такое модель MVC: теория

Статическая страница на HTML не умеет реагировать на действия пользователя. Для двухстороннего взаимодействия нужны динамические веб-страницы. MVC — ключ к пониманию разработки динамических веб-приложений, поэтому разработчику нужно знать эту модель.

MVC расшифровывается как «модель-представление-контроллер» (от англ. model-view-controller). Это способ организации кода, который предполагает выделение блоков, отвечающих за решение разных задач. Один блок отвечает за данные приложения, другой отвечает за внешний вид, а третий контролирует работу приложения.

Компоненты MVC:

Модель — этот компонент отвечает за данные, а также определяет структуру приложения. Например, если вы создаете To-Do приложение, код компонента model будет определять список задач и отдельные задачи.

Представление — этот компонент отвечает за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.

Контроллер — этот компонент отвечает за связь между model и view. Код компонента controller определяет, как сайт реагирует на действия пользователя. По сути, это мозг MVC-приложения.

Разбираем MVC на примере магазина сэндвичей

Мы уже рассматривали работу с вложенными коллбэками на примере приготовления гамбургеров. Продолжаем традицию: разберем паттерн MVC на примере магазина сэндвичей.

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

У поваров под рукой есть разные продукты: тунец, индейка, ветчина, сыр, листья салата и другие ингредиенты, которые добавляют в бутерброды. Они выбирают только то, что нужно для вашего сэндвича с индейкой. Вы получаете свой заказ.

Покупку бутерброда можно описать через MVC:

Модель: кухня, на которой повар делает сэндвич

Представление: готовый бутерброд, который вы с удовольствием едите

Контроллер: продавец или бармен, который принимает заказ и передаёт его на кухню.

Вы уже представляли готовый сэндвич с индейкой, когда заказывали его бармену. Это представление или view.

Паттерн MVC в реальной веб-разработке: как работает контроллер

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

Переход по ссылке website(.)com/profile/ ->

возвращает profilewebsite(.)com/friends/ ->

возвращает friendswebsite(.)com/friend={userName}/ ->

возвращает профиль конкретного друга

Модель

Модель отвечает за данные, которые хранятся и обрабатываются на сервере.

	User: { userName: { firstName, lastName }, friends }

Представление

Это HTML-шаблон, который возвращает сервер после обработки запроса. Если запрос корректно обрабатывается, вы получаете веб-страницу со списком друзей. Если запрос некорректный, вы попадаете на страницу ошибки 404.

	<ul>
	  <li>Friend 1: {friendList[0].userName}</li>
	  <li>Friend 2: {friendList[1].userName}</li>
	  <li>Friend 3: {friendList[2].userName}</li>
	  ...
	</ul>

Заключение

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

Комментарии
RSS
16:58
+3
Хорошо, об MVC уже слышала и даже более того работала. Но что есть кроме MVC?
17:00
+2
Если кратко то — тремя наиболее популярными шаблонами проектирования являются MVC, MVP и MVVM. MVC означает модель, представление и контроллер, MVP означает модель, представление, презентатор, а MVVM означает модель, представление и модель представления.
MVC — это шаблон программирования, который позволяет разделить логику приложения на три части:

Model (модель) — получает данные от контроллера, выполняет необходимые операции и передаёт их виду.

View (вид или представление) — получает данные от модели и выводит их для пользователя.

Controller (контроллер) — обрабатывает действия пользователя, проверяет полученные данные и передаёт их модели.

Этот паттерн разработки нужен для того, чтобы разделить логические части приложения и создавать их отдельно друг от друга. То есть писать независимые блоки кода, которые можно как угодно менять, не затрагивая другие.
Вам может быть интересно
Зачем использовать TypeScript для своих проектов? Основная цель TypeScript — повысить производительность при разработке сложных приложений, а также облегчить жизнь вашей команде при написании ко...
Прочтите это руководство от разработчиков DST Global и узнайте : какая мощная пл...
Ознакомьтесь с подробностями методологий разработк...
Прочтите это руководство от специалистов DST Globa...
Как работает веб?В этой статье разработчики DST Gl...
Рассказываем, зачем и где учить PHP, где его приме...
В Последние годы Web-приложения постепенно вытесня...
По результатам ежегодного отчёта State of the Octo...
Java virtual machine (JVM) — это программа, ...
Неопытные разработчики вряд ли поймут, что изображ...

Новые комментарии

Pagelook достаточно старая Социальная сеть, основное направление развлечения, как я понял она хорошо подойдет тем кто приверженец старого ВК и в свое ...
Pagelook достаточно старая Социальная сеть, основное направление развлечения, как я понял она хорошо подойдет тем кто приверженец старого ВК и в свое ...
Pagelook достаточно старая Социальная сеть, основное направление развлечения, как я понял она хорошо подойдет тем кто приверженец старого ВК и в свое ...
Интересная и на редкость полезная Социальная сеть, а главное как я считаю это то что она тематическая, ничего лишнего

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Россия, Ижевск, ул.Салютовская,
д.1, офис 17

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон