MVC и MVP

Anonim

MVC против MVP

Контроллер просмотра модели (также известный как MVC) представляет собой образец архитектурной природы, используемый специально для разработки программного обеспечения. Эта конкретная модель используется для выделения так называемой «логики домена», которая является просто логикой приложения для пользователя. Он изолирован от ввода и представления (известный как GUI) и допускает независимое развитие.

Модель View Presenter (также известная как MVP) представляет собой прямую перестановку MVC. Это программный паттерн (более конкретно, шаблон проектирования пользовательского интерфейса), разработанный специально для помощи в тестировании автоматизированных блоков и улучшения так называемого разделения проблем в логике представления. Разделение проблем - это в основном процесс, посредством которого компьютерная программа разделяется на отдельные функции, которые не перекрываются, с точки зрения того, как они функционируют.

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

Модельная часть MVP определяет данные, которые должны отображаться (или действовать) в пользовательском интерфейсе. Часть просмотра отображает данные, определенные в модели, и отправляет приглашенные пользователем команды (известные как события) ведущему (кто будет действовать по этим данным). Затем ведущий действует на модель и вид модели. Таким образом, он способен извлекать данные из репозиториев (найденных в модели), продолжать данные и форматировать их, чтобы он мог легко отображаться в представлении.

Существуют различные варианты MVC. Таким образом, поток элемента управления находится в очень строгом порядке: во-первых, пользователь будет взаимодействовать с интерфейсом (например, нажатием кнопки мыши), а затем контроллер выполняет входное событие и изменяет его на соответствующее действие пользователя. Затем контроллер уведомляет модель о том, что сделал пользователь, что, скорее всего, приведет к изменению модели ее состояния (например, обновления). Затем представление задает вопрос модели для создания пользовательского интерфейса. Наконец, пользовательский интерфейс ждет инструкций, которые перезапускают цикл.

Резюме:

1. MVC - это архитектурный шаблон, который изолирует логику домена; MVP является потомком MVC, предназначенным для тестирования автоматизированных блоков и улучшения разделения проблем.

2. Что касается MVC, модель представляет данные, представление преобразует модель в удобное для пользователя взаимодействие, и контроллер получает вход; в отношении MVP модель определяет данные, отображается это представление, а ведущий действует на модель и ее представление.