初识MVP

来源:互联网 发布:linux svn 当前版本号 编辑:程序博客网 时间:2024/05/16 14:20

   一开始学android呢,就是新建Activity,写xml,绑定控件,绑定事件,写逻辑,利索当然,觉得一切都很自然。但是写这样会导致activity代码变得臃肿不堪,动辄4、5百行,自己都不愿意看,何谈维护修缮;

M:MODEL 就是说javabean,我们平时写的实体类, 封装user类属性啊,某个页面返回json的实体类啊什么的。

V:VIEW      就是视图,代表呈现在用户眼前的界面。一般呢,也就是承载控件的Activity或者Fragment布局。

C:CONTROALLER   控制者,就是用来调度数据的管理类,什么什么Manager啊,什么什么Master啊之类的


而MVP,与MVC最大不同就是传统MVC中activity既作为view呈现视图又作为contronaller调度数据。mvp中的activity,只负责显示界面,所有的调度数据的方法都是抽到的presenter里,这样就把数据呈现和数据调度分开,显得程序结构非常清晰;

道理都懂,写起来的话,我个人觉得应该先写View,View都是接口,activity会做哪些事,就写哪些抽象方法,让activity实现View接口来具体实现方法,写完View就写presenter,presenter中联网啊,处理数据啊,所有具体的逻辑代码都应该在这里,而activity所做的就是实现View接口,创建Presenter实例,在响应方法中,具体实现方法。


0 0