究竟什么是视图模型?

What exactly is a view-model?

View-Model 和 View-ViewModel-Model 模式到底是什么?

'model'这个词指的是什么? 'model' 是使用代码建模的任务吗?例如,获取随机数并显示它?

'model' 在 ViewModel 中的意义是什么?它是否像文档对象模型一样对用户的视觉呈现进行建模?欢迎任何见解。谢谢。

我会尽量简短地解释一下以便理解:

ViewModel 是一个 class 可以承受方向变化:例如看下图:

想象一下,如果您只有 mainActivity 并且旋转了 phone,每个变量都将再次初始化,如果您不采取任何操作,您将丢失所有内容。

另一个主要原因是seperation of concerns。这意味着每个 class 做一个思考。在我们的简单案例场景中,MainActivity 将用于 UI 交互性,例如按钮点击监听器,ViewModel 将用于任何 calculations

所以 View-ViewModel-Model 就是关于关注点的分离,以及编写更干净、更易于维护的更好代码!

有关更多信息,最好花点时间阅读源代码:ViewModel Overview