APP组件化架构建设

一、架构设计

image.png

二、模块职责

1、空壳模块
空壳模块中声明app的Application,这个 Application必须继承自Common组件中的 BaseApplication,因为只有这样,在打包应用后才能让BaseApplication中的Context生效。

2、业务组件层,如图

image.png

  • 1)、技术选型:

    A、设计模式: MVVM(JetPack:ViewMode/ Livedata/Databinding/room等)

    B、路由框架:ARouter

    C、网络框架:Retrofit+Kotlin协程

  • 2)、组件划分:根据具体业务而独立形成一个的工程,实际开发需要考虑涉及的各个业务线。

  • 3)、组件通信

    a、gradle.properties里配置组件化开关:
    isBuildModule 为
    true 时可以使每个组件独立运行,
    false 则可以将所有组件集成到宿主 App 中。

    b、跳转

    传值:

    ARouter.getInstance().build(“xxx”)
    .withString(“name”, bean.itemName)

    .withInt(“type”, type)

    .navigation()

    接收,Route注解注册路径

    @Route(path = “xxx”)

    class XXX : BaseActivity()

3、功能组件层

  • 1)、基础框架( Common Library):支撑业务组件的基础,所有业务组件都要依赖。

    baseXXX (baseActivity等)

    utils

    网络模块:Kotlin + 协程

    数据存储:(MMKV,DataStore)

    权限

    日志

    基础UI(如 toolbar 等)

    . . . . . .

  • 2)、其他功能组件:某一个或几个业务组件依赖,并不是所有业务组件都依赖.

4、第三方库层

  • 主要包括公共基础库依赖的三方库如appcompat,其他功能组件使用到的三方库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值