【知识必备】浅淡MVP在Android项目中的实战演习,让代码结构更简单~

  • 时间:
  • 浏览:1

跟我说业务逻辑比较简单的功能用 MVC 没那此,为何让想没想过,事先你产品后面 改需求为何会么会办?是的,你接受产品需求的强奸,但还是都都可不里能忍辱偷生。在日渐复杂性的业务逻辑上,你的 Activity 和 Fragment 代码太多,最终意味着 代码爆炸,难以维护。

讲到最近我想身心疲惫的问题图片解答,无疑是我想在开源的路上越走越远,人太好我总要技术大牛,却依然被一些很简单的问题图片轮番轰炸,人太好笔者的内心真的是拒绝的。不得不说,写给技术群内的你和群主,为那此你提问,而总没办法 回你!写的挺好。

爱吖妹纸是运用 MVP,Retrofit,RxJava 等主流框架整合的干货 App,项目资源来源于代码家的干货集中营。代码量太多,但基本涉及了各个方面,界面采用 design 风格,好多好多 也是学习 design 的良药。你还在等那此,猛戳链接吧!https://github.com/nanchen2251/AiYaGirl

做不完的开源,写不完的矫情。欢迎扫描下方二维码事先公众号搜索「nanchen」关注我的微信公众号,目前多运营 Android ,尽本人所能为你提升。事先你喜欢,为我点赞分享吧~

网上浏览一圈,发现讲 MVP 的文章比比皆是,可见 MVP 的欢迎度,但大多数文章都好多好多 讲理论,稍微好点的会附带一有另有一个简单的登录的 Demo。然而,一有另有一个简单的 demo 很难让初次接触 MVP 模式的人掌握它的使用。好多好多 爱吖妹纸应运而生。

笔者也是希望继续在开源路上越走越远,还请当当许多人 支持,点击评论 666!别忘了关注我的 github,随手点赞。

不得不说,事先当当许多人 项目中的确也是用的 MVC 在编写的。很简单的会发现随便一有另有一个 Activity 代码总要几百上千行,甚至还有一万行以上的。看起来的确没办法 一回事儿,为何让细想这人 View 对于布局文件,人太好能做的事情有点硬少,实际上关于该布局文件中的数据绑定的操作,事件出理 的操作总要 Activity 中,造成了 Activity 既想 View 又像 Controller,鄙弃代码上的不美观来说,对于后面 的阅读代码真的是吃力。

原先分层的好处好多好多 大大减少了 Model 与 View 层之间的耦合度。一方面都可不里能使得 View 层和 Model 层单独开发与测试,互不依赖。本人面Model层都可不里能封装复用,都可不里能极大的减少代码量。当然,MVP 还有一些的一些优点,这里不再赘述。

讲道理,这次是真的笔者但是 都没办法 更新 blog 了,主要最近维护的框架问题图片也是层出不穷,为何让对技术交流群的解答也我想身心疲惫,好多好多 在这里跟关注我的人说声抱歉,没办法 定期给当当许多人 带来福利,没办法 这里就给当当许多人 带来一有另有一个重磅福利:爱吖妹纸 —— Retrofit & RxJava & MVP & Butterknife 的详细 App.

废话好多好多 多说,对于 MVP(Model View Presenter),我相信大多数人都能说出一些的,“ MVC 的演化版本”,“让Model和View详细解耦”等等,但用过 MVP 的人总要人太好,在 Android 中,代码很清晰,不太多了好多好多 类。对于大多数人而言,在看 MVP 的 Demo 的事先,一眼便是慢慢的 nice,然而让本人来写个例子,却很头疼写不出来。但的确 MVC 模式写起来更加像是顺水推舟。只时需把本人的业务逻辑一股脑的装在 Activity 就成功完事儿。

如上图所示,在项目中 View 和 Model 不必直接交互,好多好多 使用 Presenter 作为 View 和 Model 之间的桥梁。其中 Presenter 中一齐持有 View 层以及 Model 层的 Interface 的引用,而 View 层持有 Presenter 层 Interface 的引用,当 View 层某个页面时需展示一些数据的事先,首先会调用Presenter 层的某个接口,为何让 Presenter 层会调用 Model 层请求数据,当 Model 层数据加载成功事先会调用 Presenter 层的回调最好的最好的办法 通知 Presenter 层数据加载完毕,最后 Presenter 层再调用 View 层的接口将加载后的数据展示给用户。这好多好多 MVP 模式的核心过程。

不信?你瞧瞧。

当然都都可不里能跑题,前面对 MVP 做了简单的概述,下面还是用一有另有一个简单的图表示一下。

还是给当当许多人 看看项目截图,以免当当许多人 心慌。