MVP дизайн шаблона практических наблюдений - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь понять шаблон проектирования MVP практически и прошел эту ссылку и несколько других ссылок и сделал некоторые наблюдения.Я хочу знать, что все приведенные ниже наблюдения верны для практической реализации шаблона проектирования MVP?

  1. Activity, Fragment s и наши xml макеты будут частью View.

  2. Наши классы POJO или классы, отвечающие за выборку данных, выполнение вызовов API или вызов веб-служб, являются частью Model.

  3. Мысоздайте интерфейс, который содержит абстрактные методы для различных событий, которые мы должны выполнить в представлении, или различных событий для жизненного цикла представления.Activity / Fragment будет реализовывать этот интерфейс и передавать его ссылку на конструктор Presenter.

  4. Presenter будет иметь ссылку как на View, так и на Model.Его конструктор будет содержать ссылку на интерфейс, который Activity реализован, и он создаст объект Model.

  5. Всякий раз, когда выполняется действие в View или для любого обратного вызова жизненного цикла View,метод Presenter вызывается из View.Этот метод будет взаимодействовать с Model и View согласно требованию.Он вызовет метод Model и вызовет метод интерфейса, который Activity реализовал, чтобы и Model, и View могли выполнять действия в своих классах.

1 Ответ

0 голосов
/ 18 мая 2018

Ваше понимание в основном верно:

  1. Правильно.
  2. Совершенно верно.Хотя обратите внимание, что в терминологии шаблонов проектирования MVP понятие Model (M) является довольно общим.На практике модель разделена на несколько слоев в зависимости от их «функциональности», например, Интерактор , Хранилище , сеть и т. Д.
  3. В целом, правильно.
  4. Правильно относительно части VP и неверно на «это создаст объект модели» .Presenter не должен создавать экземпляр Model, он также должен взаимодействовать с ним через интерфейс.
  5. В общем, правильно.Однако View не должен заботиться о жизненном цикле View.Модель должна предоставить данные.
...