预则立
应用演进过程中可能出现混乱局面,对架构的考量应该放在项目开始之前
参考:
Android架构思考(模块化、多进程)
适用范围:中型项目,小项目就不需要杀鸡用牛刀了
不进行设计时应用可能出现极度混乱的局面:
跳过广受诟病的插件化思路,考虑应用路由框架设计组件化框架:
这样的路由框架,在模块解耦的同时,提高了模块的可测性和复用性。
还可以在router与各路由之间加入 Common-Base层,作为公共library:
在调用API时,路由机制的调用时序图:
这样的路由架构存在一个访问域问题,在多进程时需要进行格外处理
多进程优势:
- 独立各进程;
- 提高内存控制权;
- 模块解耦
- 守护
Router是单例模式,在多进程时直接使用会在每个JVM实例中生成,跨进程时需要将Router链接起来:
这时,调用时序图层级就略微有点深了:
总结:
路由架构可以高度解耦,提升可测试性,也便于项目组进行任务划分、并行开发;
缺点是调用层级略微有点深,会有一定的性能损耗,但与其带来的优势相比可以忽略;此设计也没有考虑到MVP架构设计的融合问题,需要考虑应用场景的引用和适度
关注公众号“夕识”,雕刻时光,雕刻思维