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

  • 时间:
  • 浏览:2
  • 来源:幸运飞艇_幸运飞艇官方

你说歌词 业务逻辑比较简单的功能用 MVC 没那先 ,为什么我么我让想没想过,可能你产品上端改需求为什么我么我办?是的,你接受产品需求的强奸,但还是只能忍辱偷生。在日渐复杂化的业务逻辑上,你的 Activity 和 Fragment 代码太久,最终由于代码爆炸,难以维护。

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

讲道理,这次是真的笔者后来都如此更新 blog 了,主要最近维护的框架那先 的问提也是层出不穷,为什么我么我让对技术交流群的解答也后来身心疲惫,本来在这里跟关注我的人说声抱歉,如此定期给大伙儿儿带来福利,如此这里就给大伙儿儿带来有一有2个重磅福利:爱吖妹纸 —— Retrofit & RxJava & MVP & Butterknife 的全部 App.

不得不说,时候大伙儿儿项目中的确也是用的 MVC 在编写的。很简单的会发现随便有一有2个 Activity 代码不会 几百上千行,甚至还有一万行以上的。看起来的确如此一回事儿,为什么我么我让细想這個 View 对于布局文件,人太好能做的事情一阵一阵少,实际上关于该布局文件中的数据绑定的操作,事件补救的操作不会 Activity 中,造成了 Activity 既想 View 又像 Controller,鄙弃代码上的不美观来说,对于上端的阅读代码真的是吃力。

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

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

不信?你瞧瞧。

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

还是给大伙儿儿看看项目截图,以免大伙儿儿心慌。

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

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

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

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

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