MVC: Основы зарождения, модули и архитектура
Автор: Новосельцева Евгения Игоревна, Юркова Ольга Николаевна
Статья в выпуске: 1 (21), 2023 года.
Бесплатный доступ
В данной статье описывается что такое MVC, история создания, основные идеи и концепции, заложенные в MVC. Описаны основные модули: модель, представление и контроллер. А так же рассмотрена архитектура MVC, которая предоставляет разработчику большое количество преимуществ при работе с проектом.
MVC, архитектура, разработка, модель
Короткий адрес: https://sciup.org/140303592
IDR: 140303592
Текст научной статьи MVC: Основы зарождения, модули и архитектура
В конце 70-х годов ТрюгвеРеенскауг, во время работы в Xerox PARC, сформулировал идеи MVC. Для того, чтобы работать в ЭВМ, просто необходимо было иметь ученую степень и постоянно изучать различную документацию. Задача, которую Реенскауг решал совместно с группой очень сильных разработчиков, заключалась в том, чтобы упростить взаимодействие рядового пользователя с компьютером.
Задача заключалась в том, чтобы создать средства, с помощью которых, можно было бы управлять компьютером и сложными приложения, но вместе с этим, они должны быть предельно простыми и понятными. Реенскауг работал в команде, которая занималась разработкой портативного компьютера «для детей всех возрастов» — Dynabook, а также языка SmallTalk под руководством Алана Кея. Именно в это время закладывались понятия дружелюбного интерфейса. Данная работа оказала огромное влияние на развитие сферы IT.
10 лет назад вышла первая публикация об MVC. В ряде книг и статей по архитектуре ПОМартинаФаулера упоминается, чтоMVC он изучал по работающей версииSmallTalk. Так как из первоисточника долго не было информации об MVC, появилось большое количество различных трактовок этого понятия. Поэтому, многие считают, что MVC является схемой или паттерном проектирования. Иногда
MVC называют составным паттерном или комбинацией нескольких паттернов, которые работают совместно для реализации сложных приложений. На самом деле, MVC — это прежде всего набор архитектурных идей, принципов и подходов, которые можно реализовать различными способами с использованием различных шаблонов.
Сердцевиной идеи MVC, как и основной идеей для всех последующих каркасов, является так называемое «отделенное представление» (Separated Presentation). Смысл данного представления заключается в проведении четкой границы между доменными объектами, отражающими наш реальный мир, и объектами представления, которыми являются GUI-элементы на экране. Доменные объекты должны быть полностью независимы и работать без ссылок на представление, а также должны обладать возможностью поддерживать (support) множественные представления, возможно даже одновременно. Этот подход, так же был одним из важных аспектов Unix-культуры, позволяющий даже сегодня работать во множестве приложений как через командную строку, так и через графический интерфейс (одновременно).
При разработке систем с пользовательским интерфейсом, следуя концепции MVC следует разделять систему на три составные части. А их, в свою очередь, можно называть модулями или компонентами (рис.1).

Рисунок 1. Система MVC

-
1. Model — модель. Она содержит всю бизнес-логику приложения. Она предоставляет данные и реагирует на команды контроллера, изменяя своё состояние
-
2. View — представление. Данный модуль отвечает за отображение данных пользователю. Все, что видит пользователь, генерируется представлением.
-
3. Controller — контроллер. В нем хранится код, который отвечает за обработку действий пользователя (любое действие пользователя в системе обрабатывается в контроллере).
Модель – это самая независимая часть системы. Она не имеет никаких представлений о других модулях. Разра- ботчики модели могут практически ничего не знать о представлении и контроллере.
Представление предоставляет информацию из модели в удобном для восприятия пользователя формате. Основным ограничением представления является то, что оно никак не должно изменять модель.
Контроллер в свою очередь обрабатывает действия пользователя и после этого уже вносит изменения в модель, точнее в данные, которые находятся в модели.
Архитектура MVC предоставляет разработчику большое количество преимуществ при разработке приложений, которые включают в себя:
-
1. Многопоточный режим работы разработчиков — несколько специалистов могут работать снесколькими слоями одновременно.
-
2. Улучшенная масштабируемость (способность приложения расти) есть возможность обновить оборудование без влияния на другие компоненты.
-
3. Низкая зависимость компонентов друг от друга, что упрощает их поддержку.
-
4. Переиспользование модели несколькими представлениями, обеспечивающее возможность повторного использования кода.
-
5. Концепция MVC вносит в приложение более простую для понимания структуру.
-
6. Дальнейшая разработка и тестирование приложения становится более легким.
Ключевая идея MVC состоит в том, что любое программное решение с пользовательским интерфейсом в первом приближении можно разделить на два модуля: модуль бизнес-логики приложения, и пользовательский интерфейс.
Список литературы MVC: Основы зарождения, модули и архитектура
- Model View Controller // Wikipedia // URL:https://ru.wikipedia.org/wiki/Model-View-Controller(датаобращения: 23.04.2023)
- Общие сведения ASP.NET MVC. [Электронный ресурс] URL:https://docs.microsoft.com/ru-ru/aspnet/core/mvc/overview?view=aspnetcore-2.2 (дата обращения: 10.05.2023).
- Казаков, О. Д. Цифровые двойники бизнес-процессов: пространственно-временной слой / О. Д. Казаков, Н. Ю. Азаренко // Современная наука: актуальные проблемы теории и практики. Серия: Естественные и технические науки. – 2022. – № 4-2. – С. 60-67. – DOI 10.37882/2223-2966.2022.04-2.18. – EDN CLRXMC.
- Казаков, О. Д. Комбинирование методов машинного обучения и имитационного моделирования социально-экономических процессов в системах поддержки принятия решений / О. Д. Казаков, Н. Ю. Азаренко // Вестник Рязанского государственного радиотехнического университета. – 2020. – № 71. – С. 97-107. – DOI 10.21667/1995-4565-2020-71-97-107. – EDN NZTTJF.