外观
模块化与组件化有什么区别?
标准回答
模块化把代码分成有边界的构建单元;组件化进一步强调业务能力可组合、可替换或独立交付。两者没有所有团队通用的绝对分界,重点是依赖和契约。
关键机制
- 常见划分:业务 feature、领域接口、数据实现、通用基础设施;避免基础模块反向依赖某个业务页面。
- 跨模块通过稳定接口或明确导航契约交流,不依靠散落字符串和全局可变单例。
- 拆模块需权衡编译速度、依赖治理、团队边界与维护成本;不是模块越多越好。
通俗例子
设备控制和账号业务都依赖账号能力接口,由应用组装具体实现。设备模块不应直接操作登录页面里的字段。
易混淆点
把所有共享代码堆进 common 会形成新的巨大耦合点;通用性需要真实复用证据。
参考资料
内容来源
- Android 技术札记 · 原条目
modular