【Android】【架构】【美团猫眼模块化】
学习自
https://mp.weixin.qq.com/s/kd3VUJkQLAcyjvkaDGKhng?tdsourcetag=s_pctim_aiomsg
背景
美团猫眼lib需要移植到团App、点评App
这里希望底层服务使用宿主App的(服务:网络库,缓存库,下拉刷新...)
于是每次调用到这些服务的时候,面向接口
所有的接口实现类,需要写进一个配置类
使用这个lib的时候,只需要传入配置即可
整体实施
原有的耦合
接口隔离
配置传入
整体思路比较简单,就是面向接口,具体实现传入配置,实现配置式编程
但是在实践的时候,确实是比较繁琐的,也做了很多工作
需要把一个页面耦合的Model、utils、基类、资源、引用的View统统抽离
细节工作
1、拆分Model、Utils
2、资源拆分:无需去做,太过繁琐,因为资源最终会Merge,如果外部希望覆盖,复写即可
3、拆分功能,面向接口
4、MVP - LifeCycle,以View作为V,粒度更小
5、使用ServiceLoader,反射创建实现类
6、开发Gradle插件扫描配置文件,校验合法性
7、数据库抽离
8、使用ViewModel共享页面数据
9、广播进行模块、进程通信
10、ContentProvider监听宿主数据
收获
1、这其实就是配置式编程,分析软件开发过程中易变与不变的性质,留口传参,配置注入
就好像Retrofit一样,把converter、adapter开放出来,留一个口传入
这是非常好的思想,值得借鉴
2、个人觉得既然是美团系App,不如和两个App底层库尽可能统一
底层库假如能够统一,就不用做这么多复杂工作了
实际开发中,底层库统一是很正常的,都是用三方库,用哪个不是用,比如难道就必须使用GreenDao吗
统一后反而还能增加人效
这点在美团外卖App平台化文章中就是这样实践的
后记
有什么写得错误、让人费解或遗漏的地方,希望可以不吝赐教,我会马上更改
【Android】【架构】【美团猫眼模块化】相关推荐
- 美团猫眼android模块化实战-可能是最详细的模块化实战
转载请注明出处: 美团猫眼电影android模块化实战–可能是最详细的模块化实战 地址:http://blog.csdn.net/qq_22744433/article/details/7794844 ...
- 美团猫眼电影android模块化实战--可能是最详细的模块化实战
转载请注明出处: 美团猫眼电影android模块化实战–可能是最详细的模块化实战 地址:http://www.jianshu.com/p/d372cc6802e5 目录 1 写这篇博客的初衷 首先一句 ...
- Android架构思考(模块化、多进程)
Android架构思考(模块化.多进程) Dec 28, 2016| Android | 4777 Hits 15条评论 关于模块化(组件化)这个问题,我想每个开发者可能都认真的思考过.随着项目的开发 ...
- Android架构篇-1 项目组织架构
Android架构篇-1 项目组织架构 模块化分层 1.结构清晰,各模块代码分离,符合高内聚低耦合,快速定位查找代码 2.团队协作开发灵活,互不影响,各模块完成后合并即可完成整体app 3.抽离公共层 ...
- android 启动白屏_为什么说Android 架构的未来是 MVVM?
据<第45次中国互联网络发展状况统计报告>,2019年市场上监测到的APP数量比2018年减少85万款- 这两年,很多朋友都会有这样的疑惑: "现在Android的坑还值不值得入 ...
- BATZ,一份《Android架构开发手册》就够,已offer
前言 今年的面试比往年要难得多,各个互联网企业对于Android岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Android开发人员,我 ...
- Android架构师亲述:我从某度外包到字节,你知道我经历了什么吗?
Android架构师亲述:我从某度外包到字节,你知道我经历了什么吗? 朋友在某大型互联网公司担任架构师.刚毕业那年,他以外包的身份进入了某度,那个时候几乎每一天都很焦虑,大家技术能力没差太多,为何我是 ...
- Android8.0学习(1)---Android 架构
Android 架构(8.0以前) Android 系统架构包含以下组件: 图 1. Android 系统架构 应用框架 应用框架最常被应用开发者使用.如果您是硬件开发者,则应该了解开发者 API,因 ...
- Android架构初探
#一 背景 点评美团合并之后,业务需要整合,我们部门的几条业务需要往美团平台迁移,为了降低迁移成本,开发和维护成本,以及将来可能要做的单元测试,需要对架构进行相应的调整.之前的代码都堆在Activit ...
- 成为一名合格Android架构师,移动APP开发框架盘点,面试资料分享
缘起 经过近十年的发展,Android技术优化日新月异,如今Android 10.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS.到了各大厂商手里,改源码.自定义系统, ...
最新文章
- 【项目实战课】NLP入门第1课,人人免费可学,基于TextCNN的新闻文本分类实战...
- 【QM-02】Master Data (QM主数据的设置)
- 2021年互联网企业软件测试面试题(超实用)
- C# 数据结构--排序[下]
- Java 反射机制深入研究
- windows配置Python多版本共存
- C语言实现下载网页的方法【原创】
- 徐汉彬:亿级Web系统搭建—单机到分布式集群
- 杭电1437 天气情况
- mysql5.5备份数据库_mysql5.5数据库备份
- 【初赛】NOIP2018程序模板
- mmap()映射硬盘的文件
- 最新版华为HG255D硬件定义
- lora网关软件设计_LoRa网关芯片SX1301IMLTRT网关设计资料
- 详解 物理四大神兽————薛定谔的猫
- 【课件制作软件】Focusky教程 | 设置文字阴影效果
- C语言简单编程案例(一)
- [遗传学]近亲繁殖与杂种优势
- 学习大数据:Java基础篇之反射
- Vimeo上传功能中的SSRF