java - 在android的MVP设计模式中,我们将业务登录放在哪里?
问题描述
我有些困惑,应该在 Model 和 Presenter 之间放置业务登录。有的教程说模型持有业务登录,有的说模型只是 POJO。
解决方案
业务逻辑应该在Model
. 应用程序逻辑应该在Presenter
例子:
public class MyActivity extends BaseActivity implements MyView {
private MyPresenter mPresenter;
@Override public onLoginResponse(LoginResultEntity entity) {
// Handle login result
}
// Some where
mPresenter = new MyPresenter();
mPresenter.attachView(this);
mPresenter.login(loginResquestEntity);
}
public class MyPresenter extends BasePresenter<MyView>{
public void login(LoginResquestEntity loginResquestEntity) {
// Validate info ...
ApiManager.getInstance().login(loginResquestEntity, new Callback() {
@Override public onSuccess(LoginResultEntity entity) {
mMvpView.onLoginResponse(entity)
}
@Override public onError(Throwable throwable) {
mMvpView.onLoginResponse(null)
}
});
}
}
interface MyView extends MvpView {
void onLoginResponse(LoginResultEntity entity);
}
推荐阅读
- c - xPortPendSVHandler 中 FreeRTOS 中的硬故障
- javascript - 带记忆功能
- generics - F# 可区分联合类型可以使用类型签名中未定义的泛型吗?
- c# - 使用 OleDB 在 DBase III DBF 文件中插入日期
- c# - 即使是无效的 url,HttpClient 请求也会返回 200 OK
- javascript - Javascript 地图问题。Evaluate() 中的并行参数
- vue.js - 为什么这个Vue JS方法函数validEmail没有定义
- unix - 如何通过unix重命名目录中的大量文件
- authentication - 创建自定义基于用户的身份验证以用于 Blazor 服务器与身份身份验证
- c# - 我收到 500 内部服务器错误,但我不明白为什么