组件化方案的第三种选择

本文探讨了组件化方案的三种选择:单一项目结构、多项目结构和彻底组件化。详细介绍了每种方案的优缺点,代码结构,配置方法以及调试运行方式。特别是彻底组件化方案,强调了组件的隔离性,依赖管理和资源管理。文中还涉及到了组件交互、私有仓库搭建等实践知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文首发于我的个人博客

背景:
市面上已开源的或者已发布的组件化方案,多数都是开发阶段单一工程结构,切换module模式。本质上依然没有达到代码完全隔离的目的,开发与整合测试中的一些痛点还是没有彻底解决

我们的方案:代码完全隔离,互相只能依赖,不可编辑,各模块可以单独运行,也可组合依赖

本文内容为亲自实践并验证之后整理,理解了思路,具体实施方案其实可以有多种,最主要的是自己觉得合适的。

先看看常见的方案

第一种方案-单一项目结构

该架构模式比较大众化,很多组件化demo 都是这种结构,比如得到

核心思想:所有业务组件及common组件以module形式存在于一个项目内

优点: 项目没有冗余,便于管理

缺点:没有达到组件完全隔离效果,组件插拔使用仍需新建或导入项目

代码结构

解读:

  • app:项目module,无具体业务,不包含具体页面,只负责编译依赖组件、集成打包
  • module_main: main组件,定义启动页与主页
  • module_a:业务组件
  • moduel_baidulocation:功能组件
  • module_common: 基础公共组件

各组件为独立工程架构后面说明,基本配置及思想不变

组件文件结构 :

由于组件以Module形式存在于项目内

因此只保留Module目录文件,其他工程文件统一由主体工程提供

主体项目配置

setting.gradle配置

include所有组件module

如:

include ':app',
        ':module_main'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值