Вернуться




MVC: что это такое, в чем отличия между фреймворком и архитектурой




В процессе изучения программирования часто можно встретить такой термин, как MVC. Что это такое мы разберем в сегодняшней нашей статье.

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

  1. Model — это обработка поступающих данных и разработка основной логики приложения. Главная цель этого блока — получить данные и правильно представить их следующему блоку.

  2. View — это презентация полученных данных пользователю в удобном ему формате, то есть это та часть приложения, которую видит пользователь.

  3. Controller обрабатывает запросы пользователя и вызывает соответствующие компоненты ресурсов для их обработки. Обработанные данные посылает в Model.

 

MVC что это?

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

В любом кафе есть посетители (пользователи), которые могут подойти к кассиру за прилавком (controller+view) и попросить меню (интерфейс view), чтобы заказать какое-либо блюдо. Задача кассира проверить, что кафе способно дать пользователю заказанное блюдо, и передать заказ повару (model). Повар просто готовит заказанное блюдо, и ему абсолютно все равно, что из себя представляет посетитель, способен ли он оплатить заказ и т. п., его задача просто качественно приготовить блюдо. Как только повар (модель) заканчивает готовку блюда, он передает его обратно кассиру (вид), который проверяет, что блюдо действительно то самое, и отдает его посетителю, проконтролировав, чтобы тот его оплатил.

По принципу MVC на данный момент работают многие приложения и веб-сайты. Возьмем, к примеру, любую соцсеть. Когда вы заходите к себе на страницу и кликаете кнопку «Друзья», вы уже точно знаете, какой будет результат этого действия — список с вашими друзьями по соцсети. Как тут устроен принцип MVC? Нажав на кнопку «Друзья», вы отправляете запрос на сервер соцсети с просьбой показать вам список ваших друзей. Так реализован controller.

Сервер обрабатывает ваш запрос — из базы данных он «достает» всех ваших друзей, чтобы отправить вам их список. Так реализована model.

Выбрав из всех своих пользователей ваших друзей, соцсеть представляет вашему вниманию страницу с их списком. Так реализован view.

 

Для чего программисты применяют MVC

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

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

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

 

Заключение

Почему-то молодые программисты изначально обходят MVC стороной, считая такой подход к разработке достаточно сложным и запутанным. На первый взгляд так и есть, однако в процессе изучения и реализации архитектуры MVC вы поймете, что не все так сложно.



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Стоит ли учиться программировать в 2021

Стоит ли учиться программировать в 2021

Не случайно в разговорах о рынке труда, перспективах развития и важнейших с ...

21 Февраля 2021    Другое


Плюсы и минусы Baas для разработки мобильных приложений

Плюсы и минусы Baas для разработки мобильных приложений

Если вы хотите заказать разработку мобильного приложения, причем чтобы вам ...

23 Марта 2021    Другое


Начинающий программист

Начинающий программист

Самыми легкими в изучении можно считать такие языки как JavaScript, Python, ...

23 Марта 2021    Другое




Напишем