其他分享
首页 > 其他分享> > android MVP-具有多个模型的演示者

android MVP-具有多个模型的演示者

作者:互联网

规划为MVC类型的android应用实现MVP体系结构.我担心如何才能使主持人拥有多个
楷模.

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

MyPresenter(IView view, IInteractor model);

这样,我可以在测试时交换依赖关系,并轻松模拟视图和模型.但是想象一下我的主持人与一个必须是多个网络呼叫的活动相关联.因此,例如,我有一个活动进行登录的API调用,然后进行安全性问题的另一个活动,然后对GetFriendsList进行第三个活动.所有这些呼叫都在同一活动主题中.如何使用上面显示的构造函数执行此操作?或做这种事情的最佳方法是什么?还是我只限于一个模型并在该模型中调用服务?

解决方法:

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

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

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

现在您的实现类仅依赖于视图部分.

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

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)

  } 
}

标签:android-mvp,android
来源: https://codeday.me/bug/20191111/2020857.html