Если в проектировании системы паттерны практических решений могут быть и не использованы, то использование архитектурных шаблонов в проектировании любой системы — обязательно. Понимание и использование архитектурного шаблона, применяемого в проектировании системы обязует программиста писать хороший код.
В группе архитектурных шаблонов выделяют следующие.
Архитектура приложения – это логическая структура, описывающая отдельные компоненты, их свойства и связи в виде единой системы.
Паттерны – это описания схем детализации отдельных подсистем приложения и взаимосвязей между ними
MVC - это аббревиатура, которая расшифровывается так: Model-View-Controller.
MVC - это именно набор архитектурных идей и принципов для построения сложных систем с пользовательским интерфейсом.
Модель (Model) представляет собой объектную модель некой предметной области, включает в себя данные и методы работы с этими данными, реагирует на запросы из контроллера, возвращая данные и изменяя своё состояние, при этом модель не содержит в себе информации, как данные можно визуализировать.
Представление (View) отвечает за отображение информации (визуализацию), одни и те же данные могут представляться различными способами, например, коллекцию объектов можно представить как в табличном виде, так и списком.
Представление также перехватывает действие пользователя, которое затем передается Контроллеру. Характерным примером этого является кнопка, генерируемая Представлением. Когда пользователь нажимает ее, запускается действие в Контроллере.
Кроме этого определение Представления как файла шаблона также является неточным. Но это не вина одного человека, а результат множества ошибок различных разработчиков, которые приводят общему заблуждению. После чего они неправильно объясняют это другим. На самом деле Представление - это намного больше, чем просто шаблон. Но современные MVC-ориентированные фреймворки до такой степени впитали этот подход, что никто уже не заботится о том, поддерживается ли верная структура MVC или нет.
Контроллер (Controller) обеспечивает связь между пользователем и системой, использует модель и представление для реализации необходимой реакции на действия пользователя, как правило, на уровне контроллера осуществляется фильтрация полученных данных и авторизация (проверяются права пользователя на выполнение действий или получение информации).
Контроллер получает задачи на выполнение только когда пользователь взаимодействует с Представлением, и каждая функция зависит от взаимодействия пользователя с Представлением. Наиболее распространенная ошибка разработчиков заключается в том, что они путают Контроллер со шлюзом, поэтому присваивают ему функции и задачи, которые относятся к представлению.
Дата | Выполнено, % |
---|---|
2020-06-02 15:25:09 | 10 |