知乎 Android 客户端组件化实践

摘要

知乎 Android 客户端最早采用单工程 MVC 架构,但随着业务规模扩大和开发人员增加,出现了代码耦合和协作问题。为了解决这些问题,他们进行了组件化重构。采用多工程多仓库方案,每个组件有独立的仓库,主工程通过 aar 依赖各个组件。架构包括主工程、业务组件、基础组件和基础 SDK,实现了职责清晰独立、拆解和组合的能力。组件化的第一步是解耦,包括处理公用代码和拆分基础业务逻辑成基础组件或独立的 SDK。同时,建立了一个 common 组件来统一存放小代码和资源。随着组件化的进行,common 组件应逐渐变小。对于共同使用的代码和资源片段,允许直接复制以避免影响其他业务。另外,对于需要在应用启动时初始化服务的需求,每个组件添加了 init() 方法,但仍需解决依赖顺序问题。

欢迎在评论区写下你对这篇文章的看法。

评论

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-07-03 07:10
浙ICP备14020137号-1 $Map of visitor$