MVC、MVP、MVVM 学习

mac2024-04-02  25

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 

最新回复(0)