简单学习了MVP模式,谈谈自己的认识

老生常谈的话,MVP其实就是三层架构
M:model层,用于数据的处理(比如像读取,存储等操作)
V:view层,根据用户操作更新ui,联系方式通过presenter
P:presenter层,根据view层逻辑进行相应操作

实例就是从一个存取数据的小demo看看吧

model<–interface<–presenter<–interface<–view

简单理一下逻辑部分,model层的接口定义两个方法,load(int id),save(object);此处在model层的实现类中可重写load和save方法,load可以从数据库,服务器,缓存等方式获取数据,save则也是一样,将数据传到数据库,服务器,本地缓存等等,可以看出,在model层接口定义需要用到的方法,在实现类中实现该接口,并重写主要方法,主要功能就是对数据的存取等等操作。

view层,android比较特殊的一点在于activity就是一个用户可直接接触的界面,通过定义view层接口,定义几个基本方法,比如说设置用户名显示等等(即更新ui),在activity中可实现该接口,根据不同控件进行显示。

presenter层,定义presenter类,类中可定义两个成员变量,也就是model层接口和view层接口,在构造函数中初始化两个接口,根据用户操作逻辑定义方法,比如说点击按钮实现存储,点击按钮实现读取,存储方法中就可以调用model层实现类中的save方法,读取则同理。

上面就是非常简单的一个例子使用了mvp,说说我自己的看法吧,一个既有的项目如果想重构在mvp基础上的话,需要改动的代码量还是很大的,但是如果一开始就使用了mvp,代码之间的耦合度降低了很多,将本来拥挤在activity中的大部分方法,拎出来分别放到灵活的接口中去,根据自己的需求灵活改动代码,而且在测试部分提高不少速度,以前的测试都是要整个打包测试,现在就可以模块测试,不得不说,测试的复杂度降低很多,对于bug的出现也可以更容易进行定位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值