Skip to content
阅读进度

MVVM 每一层到底做什么? ​

返回 架构与 SDK 目录

标准回答 ​

View 负责展示与用户输入;ViewModel 把输入转成状态和动作;Model / 数据层负责业务数据与数据访问,常通过 Repository 统一网络和本地来源。

关键机制 ​

  • View:用户点击刷新,通知 ViewModel;观察 Loading / Success / Error,把状态画出来。
  • ViewModel:决定何时刷新、调用 Repository、合并结果并更新页面状态。它通常不直接操作 View。
  • Repository:调用接口或数据库、处理缓存策略并返回领域数据;具体传输交给网络客户端。

通俗例子 ​

“调用数据”不是一层的准确职责。可以说:页面触发刷新,ViewModel 协调任务,Repository 获取数据,ViewModel 发布状态,页面渲染状态。

易混淆点 ​

ViewModel 不会自动开线程,也不是进程死亡后的永久存储;不要长期持有 Activity、View 或其 Context。

参考资料 ​

内容来源 ​

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