MVP模式理解

MVP模式的核心思想:

MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model。

这就是MVP模式,现在这样的话,Activity的工作的简单了,只用来响应生命周期,其他工作都丢到Presenter中去完成。从上图可以看出,Presenter是Model和View之间的桥梁,为了让结构变得更加简单,View并不能直接对Model进行操作,这也是MVP与MVC最大的不同之处。

MVP模式的作用
MVP的好处都有啥,谁说对了就给他 KIRA!!(<ゝω·)☆

分离了视图逻辑和业务逻辑,降低了耦合

Activity只处理生命周期的任务,代码变得更加简洁

视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性

Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试

把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM

MVP中View和Present相互持有对方的引用,Present持有Model的引用,在View层点击请求数据通过Present的引用调用P层的方法,在p层通过Model的引用结合RxJava执行具体数据请求,然后把数据回调到P层,在通过View的引用回调到View层。
 

猜你喜欢

转载自blog.csdn.net/chengchuanchen/article/details/84954971