外观
组件化 模块化与依赖倒置怎样落地?
标准回答
模块化通过清晰边界拆分代码和依赖;组件化进一步强调业务能力的独立组合。依赖倒置让高层业务依赖抽象接口,具体实现可以替换。例如业务依赖 DeviceTransport,BleTransport 与 SocketTransport 实现它。
机制解释
可将工程拆为 sdk-api、sdk-core、transport-ble、transport-socket 和 sample-app。api 不暴露内部实现类;core 依赖接口;Android 平台能力隔离在适合的模块。模块数量应由边界决定,不能只为“架构好看”拆空壳。
延伸追问
接口 继承 多态为什么让替换更容易?接口规定能力,具体类提供实现,多态让调用点通过同一契约使用不同实现。真正可替换还要求行为契约一致,例如同样的取消和错误语义。
内容来源
- Android 智能硬件 SDK 技术 Wiki · 原条目
Q53