Skip to content

🔥 Android Mvp Practice, Okhttp3、Retrofit2、Rxjava2.0,使用 AutoDispose 解决 RxJava 内存泄漏

Notifications You must be signed in to change notification settings

leaderliang/MvpPractice

Repository files navigation

为什么要用 MVP?

代码简洁

此处的简洁是逻辑的简洁,而不是代码本身。

比如购物车界面,有很多请求网络的地方:获取购物车商品列表、购物车商品的删除、购物车商品的购买等等, 这么多网络请求,如果都写在一个Activity,而且还有大量逻辑判断,那这个Activity的行数~ 看着就让人头痛, 即便写了注释,维护起来也是比较麻烦的。

降低耦合,方便维护

MVP的使用,使Activity中的网络请求剥离出来成为model、presenter,其中 model 只负责网络的请求; presenter 负责处理请求网络后的数据处理:加载中 成功 or 失败 取消加载; 最后 View 进行界面的 UI 展示;

mvp 缺点?

MVP在实现代码简洁的同时,额外增加了大量的接口、类,不方便进行管理。

项目中使用到了Contract,Contract 是一个契约,将 Model、View、Presenter 进行约束管理,方便后期类的查找、维护。

多个地方使用的话,是创建多个 M,V,P 接口, 一个activity对应一组(M,V,P),如果两个 acitivty 都有添加同一个的功能,那可以共用一组(M,V,P)

About

🔥 Android Mvp Practice, Okhttp3、Retrofit2、Rxjava2.0,使用 AutoDispose 解决 RxJava 内存泄漏

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages