-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
计划将整个 app 架构重构为更低耦合的多模块结构,实现 UI 与业务逻辑彻底分离,并将 Camera 相关代码迁移至独立库(camera-lib)。
重构目标
- 明确划分 app(UI层)、camera-api(接口)、camera-impl(实现)、common-utils(工具)等模块。
- UI 层仅负责界面与状态展示,所有业务逻辑通过接口与独立服务通讯。
- Camera 相关代码(如 Preview、CameraController、ImageSaver、HDRProcessor、PanoramaProcessor 等)全部迁移至 camera-impl。
- 设计 CameraModuleApi 接口,约定预览、拍照、录像、保存等核心功能。
- 通过 DI 或 Service Locator 注入 camera 模块,UI 仅通过接口调用,不直接依赖实现。
- 保证迁移过程中行为兼容,分阶段替换调用点,每步通过单元/集成测试验证。
步骤计划
- 新建 camera-api 模块,定义 CameraModuleApi 接口(详见建议)。
- 在 app 内实现 CameraAdapterImpl,短期桥接旧代码,逐步替换为接口调用。
- 修改 MyApplicationInterface、MainActivity、MainUI 等,所有相机相关操作均改为调用 CameraModuleApi。
- 创建 camera-impl 模块,移动 Preview/CameraController 等实现,并改造成对接口的实现。
- 清理 app 内部旧实现,优化接口与依赖关系,保证模块边界清晰。
- 引入 MVVM 架构,ViewModel 负责业务状态,UI 只处理界面。
- 增加测试覆盖率,确保迁移后各项功能(拍照、录像、保存、后处理)正常。
备注
- 迁移建议参考上方技术方案。
- 优先保证 CameraModuleApi 契约稳定。
- 可先完成接口与适配器,逐步迁移实现与 UI。
如需补充 camera-api 接口草案或适配器样例,请在 issue 下方留言。
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation