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