ИСПОЛЬЗОВАНИЕ КОНЦЕПЦИИ MVC В РАЗРАБОТКЕ СОВРЕМЕННЫХ WEB-ПРИЛОЖЕНИЙ. ПЛЮСЫ И МИНУСЫ MVC-ПОДХОДА - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

ИСПОЛЬЗОВАНИЕ КОНЦЕПЦИИ MVC В РАЗРАБОТКЕ СОВРЕМЕННЫХ WEB-ПРИЛОЖЕНИЙ. ПЛЮСЫ И МИНУСЫ MVC-ПОДХОДА

Канаев Д.В. 1
1Волгоградский государственный аграрный университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Современный мир уже сложно представить без огромного количества разнообразных web-сайтов и web-приложений. Они окружают нас практически на каждом шагу, их использование позволяет облегчить наш каждодневный быт, делает нашу работу более производительной. Однако мало кто из рядовых пользователей задумывался, насколько изменился подход к web-разработке в современных реалиях, по сравнению с тем, который применялся еще 10-15 лет назад.

В данной статье хотелось бы осветить одну из наиболее популярных в данный момент концепций, применяемых в современной web-разработке, а именно – концепцию MVC (ModelView - Controller), а также кратко обсудить положительные и отрицательные стороны данной концепции исходя из личного опыта и мнения.

Как концепция проектирования приложений MVC зародилась еще в конце 70-х – начале 80-х годов в США, однако законченный вид приобрела только в 1988 году, после публикации окончательного варианта в журнале «Technology Object».

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

модель (Model) – выполняет окончательную валидацию передаваемых параметров, отвечает за работу с хранилищами информации (СУБД, файлы, сторонние API и т.д.), реализует основную логику приложения и готовит данные для визуализации;

представление (View) – используется для организации механизмов визуализации результатов работы логики приложения;

контроллер (Controller) – инициализирует, загружает и выполняет первичную обработку переменных окружения, реализует механизм обработки исключений и логгирования.

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

Какие же преимущества и недостатки присущи данной концепции программирования?

Основными положительными чертами, которые хотелось бы выделить являются:

единая концепция приложения/системы. Ярким плюсом концепции MVC является единая глобальная архитектура приложения. Даже в сложных системах, разработчики (как те, которые разрабатывали систему, так и вновь присоединившиеся) могут легко ориентироваться в программных блоках. Например, если возникла ошибка в логике обработки данных, разработчик сразу отбрасывает 2-блока программы (controller и view) и занимается исследованием 3-го (model);

упрощенный механизм отладки приложения. В рамках разработки web-приложения механизм визуализации теперь сконцентрирован в одном программном блоке, упростились механизмы опционального вывода графических элементов и их отладка;

увеличение переиспользования кода. Механизм наследования от родительских классов позволяет с одной стороны наделять новые модели, контроллеры и представления широким кастомным функционалом, с другой – уменьшает количество одинакового кода.

Отрицательными моментами, которые хотелось бы отметить, на наш взгляд являются:

необходимость использования большего количества ресурсов. Отрицательный момент обусловлен тем, что все три фундаментальных блока являются абсолютно независимыми и взаимодействуют между собой исключительно путем передачи данных. Controller должен всегда загрузить (и при необходимости создать) все возможные комбинации переменных и передать их в Model. Model, в свою очередь, должен загрузить все данные для визуализации и передать их во View;

усложнение механизма разделения программы на модули. В концепции MVC наличие трех блоков (Model, View, Controller) прописано жестко. Соответственно каждый функциональный модуль должен состоять из трех блоков, что в свою очередь, несколько усложняет архитектуру функциональных модулей программы. Это условие, конечно, не всегда выполняется на 100%, так как могут быть ситуации, когда может отсутствовать модель или представление, но это частные, достаточно редкие случаи;

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

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

Просмотров работы: 148