android MVP 轻松理解MVP模式的数据传递与逻辑处理

最近公司的项目打算重构,之前的MVP模式的项目,Activity中的代码超过了2000多行,给人的感觉就是连复制都不知道从何下手,如果再没有注释的话,那简直无从下手,所以MVP就成了必然选择.

在看代码之前呢,先看一下运行效果,比起其它的MVP项目,我认为这个更容易理解 ( PS: 这张动图是我家的宝贝儿做的,爱她哦!)

android MVP 轻松理解MVP模式的数据传递与逻辑处理

1.MVP的定义:

MVP模式 分为: view presenter model

view 作为视图层

model 作为数据处理层

presenter 作为连接器,接收到view的数据后,传递给model,model接收到数据进行处理后,将最终的数据传递给presenter,presenter再将数据传递给view显示

2.MVP的具体实现:

(1).MVP的项目结构:

android MVP 轻松理解MVP模式的数据传递与逻辑处理

(2).定义Viwe 接口,实现View层的数据传递方法:

android MVP 轻松理解MVP模式的数据传递与逻辑处理

OnText(String info) 用与接收modle层处理完成的数据进行显示

setData(int isData) 用于将view层的数据传递给presenter

(3).定义modle接口,实现modle层对数据的传递

android MVP 轻松理解MVP模式的数据传递与逻辑处理

(4).model数据处理层,新建一个类:

android MVP 轻松理解MVP模式的数据传递与逻辑处理

(5) 新建presenter类,用于传递数据:

android MVP 轻松理解MVP模式的数据传递与逻辑处理

(6).MainActivity中实现View的接口

android MVP 轻松理解MVP模式的数据传递与逻辑处理

由上可知Activity 中只需要获取 实现View接口,初始化组件,处理点击事件,显示数据就可以喽,逻辑处理都在modle层哦!

(7).,MVP总结

从以上代码可以看出,MVP的数据传递主要是利用接口,当代码逻辑本身就不复杂时,使用MVP会觉得多此一举,反而显得更加麻烦了,但是当项目逻辑过于复杂,一个Activity中代码超过1000行的时候,MVP会让代码看起来非常舒服,清晰,明了!

所以是否使用MVP,是需要从实际应用来考虑的,不要为了使用某个东西而去使用。

相关推荐