一, 背景
高德 App 进行 Bundle 化后, 由于业务的复杂性, Bundle 的数量非常多. 而这带来了一个新的问题 --Bundle 之间的依赖关系错综复杂, 需要进行管控, 使 Bundle 之间的依赖保持在架构设计之下.
并且, 为了保证 Bundle 能实现独立运转, 在业务持续迭代的过程中, 需要逆向的依赖关系来迅速确定迭代的影响范围. 同时, 对于切面 API(即对容器提供的系统 API, 类似浏览器中的 BOM API), 也需要确定每个切面 API 的影响范围以及使用趋势, 来作为修改或下线某个 API 的依据.
以组件库为例, 由于组件会被若干业务项目所使用, 我们对组件的修改会影响这些业务项目. 在计划修改前, 需要根据正向的依赖关系 (业务依赖组件) 来算出逆向的依赖关系 -- 该组件被哪些地方所依赖, 从而确定这个组件修改的影响范围.
比文件更高的维度
来源: https://yq.aliyun.com/articles/731684