Android MVP模式设计

MVP设计模式

MVP是MVC升级过来的设计模式,为了降低activity中的代码长度,降低耦合度,将view 与数据处理完全隔离,提高代码的复用率,mvp孕育而生。
Activity 和Fragment 视为View层,负责处理 UI。
Presenter 为业务处理层,既能调用UI逻辑,又能请求数据,该层为纯Java类,不涉及任何Android API。
Model 层中包含着具体的数据请求,数据源。
首先补充一点基础知识,不同类之间最好的通信方式就是接口回调,MVP设计模式中就会多次运用到这个技术。

Model层进行数据的处理,比如进行网络请求获取数据,再提供回调的接口供presenter层使用,比如okhttp对respond和error调用接口不同的方法来处理结果。

View层就是活动,某种意义来说就是活动实现的接口,根据presenter层传过来的信息进行不同的逻辑处理,view层就是new presenter对象,调用presenter方法。

presenter层进行与model层和view层的交互,首先new model对象(或者将方法设置为静态),调用model层方法获取数据,实现model层的接口,根据传回来的数据进行分类处理,view层的接口对象可以在构造方法中实例化,调用view层的接口,将数据传递给view层

mvp设计模式代码逻辑清晰,view层需要的数据就从presenter层拿,至于数据怎么来的,并不关心,提高了代码的复用率。
但不是所有的都适用这种设计模式,因为会涉及到大量的接口处理。同时mvp仍然存在内存泄漏的风险,可以通过绑定,解绑,弱引用的方式来解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值