ViewModel 是一个在 MVVM (Model-View-ViewModel) 和 ASP.NET MVC 的推荐实现中使用的术语。鉴于每种模式都使用相同的术语,研究“ViewModel”可能会令人困惑。
MVC ViewModel 和 MVVM ViewModel 之间的主要区别是什么?例如,我认为 MVVM ViewModel 更丰富,因为缺少控制器。这是真的?
这是一个相当具有挑战性的问题,需要简洁地回答,但我会尝试一下。 (请记住,此类问题的答案仍然是开发人员之间争论的主题。)
在 MVC 中,ViewModel 提供渲染视图所需的所有信息。它包含的数据是使用模型中定义的数据创建的。 View 读取 ViewModel 并呈现输出。来自视图的输入被传递到控制器,控制器操纵模型,构造适当的视图模型,并将其传递给视图进行渲染。
在 MVVM 中,ViewModel 提供与 MVC 中相同的功能,但它还通过提供允许视图操作模型的命令来替换部分 MVC 控制器。 WPF 数据绑定根据 ViewModel 中的更改管理视图的更新(这有效地取代了 MVC 控制器的其余功能)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)