MVC
如Avtivity里的一个点击事件:
/**
* 将业务逻辑封装在Model里, 但C(Activity)层可以和Model直接交互, 交互完后根据显示结果来调整V层(如 显示数据)
*/
EssayModel essayModel = new EssayModel(LoadDataActivity.this);
essayModel.getEssay(3, new EssayModel.OnEssayListener() {
@Override
public void onSuccess(List<Essay> list) {
/**
* 直接使用list,得到List的逻辑都放在mode层
*/
if (list != null && list.get(0) != null) {
tvViewUpdata.setText("MVC 更新数据: " + list.get(0).getTitle());
}
}
@Override
public void onError() {
}
});
如果一个页面比较简单,只有简单的几个操作,也不会经常去改可以使用此方式;
如果页面逻辑比较复杂,接口请求都有好几个,那么不建议使用MVC,因为代码会全部堆积在一个Activity里面,会显得非常之冗余。
MVP
MVVM
Demo
https://github.com/youlookwhat/CloudReader