Разница между MVC и MVP

MVC против MVP

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

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

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

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

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

Резюме:

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

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