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)
}
}
计划为 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)
}
}