Skip to content
阅读进度

MVVM 中每一层具体做什么? ​

返回 架构与 SDK 目录

标准回答 ​

View 显示状态并转发用户操作;ViewModel 把用户操作转为业务调用并产出 UI 状态;Repository 组织数据来源和访问策略;网络、本地数据库、设备 SDK 等执行具体数据操作。MVVM 的价值是明确职责和依赖方向,而不仅是创建几个同名类。

机制解释 ​

点击刷新时,View 调用 refresh,ViewModel 更新为 Loading,Repository 获取设备数据,ViewModel 产出 Content 或 Error,View 根据状态渲染。View 不需要知道 BLE UUID,通信层也不需要知道 TextView。

延伸追问 ​

Model 就是一个 Java Bean 吗?不应这样理解。广义 Model 包括业务数据与数据处理能力,实体类只是其中一部分。简单页面不必为了层数强行制造无用的转发类。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。