Другое

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

Lorem ipsum dolor

В процессе изучения программирования часто можно встретить такой термин, как 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 вы поймете, что не все так сложно.

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

Топ-10 языков программирования: краткое описание, преимущества и недостатки
Другое

Топ-10 языков программирования: краткое описание, преимущества и недостатки

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

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

Библиотека Boost C: описание, подробная инструкция по использованию
Другое

Библиотека Boost C: описание, подробная инструкция по использованию

Нейронная сеть FANN: как установить и настроить ее на Linux и Windows?
Другое

Нейронная сеть FANN: как установить и настроить ее на Linux и Windows?

×