20190423-开发日记 关键词 模块化完整方案实现 blog读后感

参考并感谢:

Android 模块化完整方案实现
https://blog.csdn.net/yalinfendou/article/details/78822749

Android业务组件化之URL Scheme使用
https://www.cnblogs.com/whoislcj/p/5825333.html

其实说真的,一直想看看别人的项目架构到底是怎么样的,这篇是20171216的架构文章,嘛,勉强可以认为是2018年的架构吧,也不算太过于过时的设计想法。虽说如此,真的不打算照搬照套,因为思想永远应该优于实现。所以就谈谈这篇文章中一些让我感觉眼前一亮的东西吧。

整篇博文总共介绍了如下的特性

  1. 单module作为Application编译测试

  2. module在debug&release时对于Application的调用一致

  3. 动态注入路由

  4. 注解方式注入路由

  5. module间大数据传输

  6. 路由引导模块:自动生成module间跳转调用方法

  7. moduleEventBus:自己生成轻量级module观察者模式通信

其中1属于基本常识;2,3,4输入比较个性化的定制;5初步观察时有种让人眼前一亮的感觉;6不明觉厉;7常见操作

5的实现就是静态变量,目测是容器+反射

6的实现是定义接受参数方法+注解标注+apt生成类似lambda的内部类,其实我感觉单就这一块,如果加上构造者模式,编程体验会好的多。

那么看完我学到了什么呢?

  1. 模块之间使用URL Scheme+隐式Intent实现跳转Router,学习的博客链接地址已经给出,开源框架ARouter,找个时间仔细看看对应的实现

  2. module之间传递大数据这里是通过静态类+容器+反射的方式实现的

  3. 资源名冲突 if(!isDebug){resourcePrefix ‘user__’} //这里主要的实现目的是为不同模块的资源文件设定不同的前缀,这样就不会出现冲突了

开发日记-20190423 关键词 模块化完整方案实现 blog读后感相关推荐

  1. 开发日记-20190423 关键词 android静态代理类代理方法打断点debug 退出当前activity 闪退

    其实以前就已经遇到过这样的问题,但是很遗憾,一直没有找到问题所在,今天下定决心,弄了一个下午,终于发现了问题所在.不妨在你的真机上运行这样的代码,整个页面的布局其实真的很简单,就是在页面的中心有一个可 ...

  2. 开发日记-20190513 关键词 汇编语言(六)

    其实,每次当我写一篇开发日记,并且这篇开发日记并没有关键词,或者我并没有和你扯东扯西的情况下... 这意味着我这天偷懒了= = ;AddTwo.asm --两个32位整数相加.386.model fl ...

  3. 开发日记-20190328 关键词 利用eolinker一键快速生成API接口文档

    今天感觉效率真的很低= =各个层面的,apk发布到现场发现出现了问题,所以一个下午都在忙着解决现场出现的问题,领导一直打电话询问进度,午觉也没有睡所以今天预计的很多计划都处于停滞状态,像昨天规划的今天 ...

  4. 开发日记-20190915 关键词 汇编语言王爽版 第十章

    第十章 CALL和RET指令 call 和ret指令都是转移指令,他们都修改IP,或同时修改CS和IP.他们经常被共同用来实现子程序的设计. 10.1 ret和retf ret指令用栈中的数据,修改I ...

  5. 开发日记-20190425 关键词 gradle基础学习 7年之约 启动篇

    以前,面试过一家外企,面试我的技术主管真的很友善,完全是以一种技术交流的态度和我进行交流.说真的,那时候,我一度以为我已经大半只脚踏入了这家企业的大门,他们的hr和我说,我们一个星期内将会给你答复.但 ...

  6. 开发日记-20190704 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 10

    Preface 额-Perl脚本,为什么题目中还包括特定语言的指定命题啊= =,好吧,玩玩Perl吧 Content 进程是Linux用来表示正在运行的程序的一种抽象概念.程序的内存使用,处理器时间和 ...

  7. 开发日记-20190516 关键词 MVVM-代码浏览结束

    今天生病了呢=+=.其实今天预计将所有的MVVM都做完的,但是就结果而言,并没有想象中来的简单.嘛嘛嘛,不过基本的想法也已经掌握了,感觉Kotlin真的挺不错的,不过仅仅是作为一门开发语言而言.但是作 ...

  8. 开发日记-20190424 关键词 阶段性开发心得和小结

    Android开发学习小结 -图片因为是以前下下来的,所以出处真的记不太清楚了,如果有清楚出处的欢迎指正,我加上去,另外,这只是我的个人学习小结,并不是特地用于分享的,如果观赏有任何的不悦,还请谅解. ...

  9. 开发日记-20190422 关键词 插件化(1)概述

    不知道什么时候,javaer这个名词已经成为了一个很通用的词汇,指代那些只知道使用新技术,在新技术出现之后静观其变,等其成熟之后,再用极短的时间学习其用法,然后宣布已经掌握这门新技术的程序员.所谓缺乏 ...

最新文章

  1. git init 会不会清空_Git命令:git pull amp; git fetch
  2. jsf项目启动报:java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
  3. innodb和myisam
  4. java: \uxxxx unicode编码
  5. [发布]Quartz.NET 示例程序:企业调度器 V0.2 源代码
  6. Windows server 2008 r2 开启Aero
  7. linux-命令模式-光标定位-编辑中20.22
  8. XP停止服务,共建网络安全大环境
  9. Teamcenter 开发利器组合介绍。 Eclipse + Visual Studio
  10. etl spring_山寨一个Spring的@Component注解
  11. 真正的QString转char,utf8编码转gb2312编码
  12. PS——ps打开webp格式的图片
  13. Python用win32模块让窗体闪烁!附源码
  14. vue 在线阅读PDF
  15. Golang 定时器timer和ticker
  16. 性能测试工程师面试一定会问的14个面试题型
  17. Linux目录配置与FHS标准
  18. gitbook 插件 SEO
  19. ora-01237 ora-01110 ora-17505 ora-15041
  20. 蓝牙耳机什么牌子续航能力强?最好用蓝牙耳机排行

热门文章

  1. Jmeter之控制线程执行到某个结果时退出执行
  2. fiddler使用AutoResponder更改请求的返回结果
  3. php网站后台管理反应慢,phpcmsv9 后台操作反应慢的原因
  4. openwrt安装oracle,Openwrt安装软件的方法-tomcat 随笔小记-install ubuntu 12.04 in virtualbox_169IT.COM...
  5. 嵌入式linux笔记,嵌入式linux学习笔记(一)----嵌入式操作系统
  6. golang打包HTML为Android,使用Go开发Web服务,并打包html/js/css等静态资源文件
  7. android 9.0 https 适配,android9.0适配HTTPS:not permitted by network security policy'
  8. c语言 增加 删除 修改的功能 不用链表,不用链表,单是结构体写入文件后,是否可以进行修改删除...
  9. php调用execute,php运行生命周期--脚本执行阶段 php_execute
  10. 方差分析 球形检验_重复测量数据的方差分析