android MVP 轻松理解MVP模式的数据传递与逻辑处理
最近公司的项目打算重构,之前的MVP模式的项目,Activity中的代码超过了2000多行,给人的感觉就是连复制都不知道从何下手,如果再没有注释的话,那简直无从下手,所以MVP就成了必然选择.
在看代码之前呢,先看一下运行效果,比起其它的MVP项目,我认为这个更容易理解 ( PS: 这张动图是我家的宝贝儿做的,爱她哦!)
1.MVP的定义:
MVP模式 分为: view presenter model
view 作为视图层
model 作为数据处理层
presenter 作为连接器,接收到view的数据后,传递给model,model接收到数据进行处理后,将最终的数据传递给presenter,presenter再将数据传递给view显示
2.MVP的具体实现:
(1).MVP的项目结构:
(2).定义Viwe 接口,实现View层的数据传递方法:
OnText(String info) 用与接收modle层处理完成的数据进行显示
setData(int isData) 用于将view层的数据传递给presenter
(3).定义modle接口,实现modle层对数据的传递
(4).model数据处理层,新建一个类:
(5) 新建presenter类,用于传递数据:
(6).MainActivity中实现View的接口
由上可知Activity 中只需要获取 实现View接口,初始化组件,处理点击事件,显示数据就可以喽,逻辑处理都在modle层哦!
(7).,MVP总结
从以上代码可以看出,MVP的数据传递主要是利用接口,当代码逻辑本身就不复杂时,使用MVP会觉得多此一举,反而显得更加麻烦了,但是当项目逻辑过于复杂,一个Activity中代码超过1000行的时候,MVP会让代码看起来非常舒服,清晰,明了!
所以是否使用MVP,是需要从实际应用来考虑的,不要为了使用某个东西而去使用。