android MVP - 拥有多个模特的主持人

android MVP - Presenter with multiple model's

计划为 MVC 类型 android 应用实施 MVP 架构。我担心如何让演示者拥有多个 模型。

演示者的构造函数通常如下所示:

MyPresenter(IView view, IInteractor model);

这样我就可以在测试和模拟视图和模型时轻松交换依赖项。但是想象一下我的演示者绑定到一个必须是多个网络调用的 activity。例如,我有一个 activity 调用 API 登录,然后另一个调用安全问题,第三个调用 GetFriendsList。所有这些调用都在同一个 activity 主题中。如何使用上面显示的构造函数执行此操作?或者做这种事情的最好方法是什么?或者我是否仅限于只有一种模型并在该模型中调用服务?

Presenter构造函数只需要view.You不需要依赖模型。定义您的演示者和类似的视图。

 public interface Presenter{
  void getFriendList(Model1 model);
  void getFeature(Model2 model2);

    public interface View{
      void showFriendList(Model1 model);
      void showFeature(Model2 model2)
    }
  }

现在您的实现 class 仅依赖于视图部分。

休息你的方法将处理你的模型

class PresenterImpl implements Presenter{
    View view;  
    PresenterImpl(View view){
     this.view = view;
    }
  void getFriendList(Model1 model){
   //Do your model work here
   //update View
   view.showFriendList(model);
  }
  void getFeature(Model2 model2) {
   //Do your model work here
   //updateView
   view.showFeature(model2)

  } 
}