美文网首页
【Android】应用架构演进

【Android】应用架构演进

作者: 8c3c932b5ffd | 来源:发表于2017-03-03 05:38 被阅读82次

    预则立
    应用演进过程中可能出现混乱局面,对架构的考量应该放在项目开始之前
    参考:
    Android架构思考(模块化、多进程)

    适用范围:中型项目,小项目就不需要杀鸡用牛刀了


    不进行设计时应用可能出现极度混乱的局面:

    跳过广受诟病的插件化思路,考虑应用路由框架设计组件化框架:

    路由-1.png

    这样的路由框架,在模块解耦的同时,提高了模块的可测性和复用性。


    路由-3.png

    还可以在router与各路由之间加入 Common-Base层,作为公共library:


    路由-Common Base.png

    在调用API时,路由机制的调用时序图:

    Router时序图.png

    这样的路由架构存在一个访问域问题,在多进程时需要进行格外处理

    多进程优势:

    1. 独立各进程;
    2. 提高内存控制权;
    3. 模块解耦
    4. 守护

    Router是单例模式,在多进程时直接使用会在每个JVM实例中生成,跨进程时需要将Router链接起来:

    多进程路由连接图.png

    这时,调用时序图层级就略微有点深了:

    广域事件传递时序图.png

    总结
    路由架构可以高度解耦,提升可测试性,也便于项目组进行任务划分、并行开发;
    缺点是调用层级略微有点深,会有一定的性能损耗,但与其带来的优势相比可以忽略;此设计也没有考虑到MVP架构设计的融合问题,需要考虑应用场景的引用和适度


    关注公众号“夕识”,雕刻时光,雕刻思维


    相关文章

      网友评论

          本文标题:【Android】应用架构演进

          本文链接:https://www.haomeiwen.com/subject/ptllgttx.html