美文网首页架构
App通用架构设计

App通用架构设计

作者: starcheng | 来源:发表于2019-01-30 16:26 被阅读0次

    App通用架构设计

    App架构设计的目的

    • 应对App功能庞大,复杂度快速上升的趋势,降低App软件开发的复杂度
    • 提升代码的可复用性
    • 实现模块化,组件化开发
    • 规范App开发流程, 对开发工作进行指引

    App架构的基本原则

    • 分层
    • 模块化
    • 组件化
    • 解耦

    App通用架构图

    • 基础组件层
    • 通用业务组件层
    • 业务层
    • App壳
    App通用架构.png

    基础组件层

    • 每个模块功能单一
    • 不包含业务逻辑
    • 模块互相独立,没有依赖关系
    • 组件化,模块化良好,代码可复用程序高

    OkHttp EventBus Encrypt/Decrypt JSBridge Logger ...

    通用业务组件层

    • 对基础组件模块的封装
    • 通用的业务逻辑下沉
    • 通用的App UI相关组件
    • 依赖基础组件层

    业务层

    • 根据业务及功能,划分多个相对独立业务模块
    • 业务模块之间,减少互相依赖
    • 业务模块互相调用,通过Router组件解耦
    • MVC/MVP/MVVM

    消息中心 订单系统 登录/注册 用户中心 ...

    App壳

    • App入口,主界面,首屏
    • App整体功能输出配置,构建
    • ToB形态App的功能自定义组合,UI风格自定义等需求

    层级、模块之间依赖、解耦

    • 依赖关系

      • 上层依赖下层
      • 减少横向依赖
    • 下层模块与上层模块通信方式

      • callback
      • eventbus
    • 业务层模块之间,通过Router组件解耦

    MVP架构

    基本结构

    • model 数据实体,数据处理层,包括本地,网络数据的获取、处理、传输、存储
    • view UI层,主要完成数据的UI显示、用户交互、事件转发
    • presenter 业务逻辑的具体实现,view与model交互的桥梁
    mvp.png

    优点

    • 一个功能拆分为M、V、P 3部分,M、V进行了解耦
    • 组件之间交互,都是通过接口实现
    • UI与逻辑分离,可方便进行代码单元测试
    • 结构简单,学习成本低

    代码结构

    • 基础组件库模块
    • 通用业务组件库模块
    • 每个业务模块对应一个模块,N个业务模块
    • App壳模块

    App架构展望

    • 基于模块化的事件总线框架
    • 组件服务化
    • 插件化

    相关文章

      网友评论

        本文标题:App通用架构设计

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