为什么在处理 WPF 时我们选择 MVVM 而不是 MVC 或 MVP?
使用它我们可以获得什么额外的好处?
Edit:
说实话,今天我去面试,也被问到了这个问题。我回答像 INotifyPropertyChanged , ICommand,IValue Converter.. 但他不满意。从此我提出了这个问题
提前致谢
我会向你指出一个特别有用的video作者:贾森·多林格。
来自 WinForms 世界,实现任何 MVX 样式模式似乎都比其价值更麻烦,但在使用 WPF 几年后,我可以诚实地说,我不会考虑任何其他事情。整个范例是开箱即用的支持。
首先,主要的好处是实现了之间的真正分离view
and model
。这实际上意味着,如果/当您的模型需要更改时,无需视图即可更改,反之亦然。
其次,当你的model
可能包含您可能需要的所有数据view
,您可能希望以这样的方式抽象该数据:model
不支持。例如,假设您的模型包含日期属性。在模型中它可以单独存在DateTime
对象,但您的视图可能希望以完全不同的方式呈现它。如果没有viewmodel
你要么必须复制该属性model
支持视图或修改可能严重混淆“模型”的属性。
您还可以使用viewmodel
聚合模型中存在于单独的类/库中的部分,以促进更流畅的界面view
去处理。它是very您不太可能希望以用户希望或希望向他们呈现数据的方式来处理代码中的数据。
最重要的是,您可以获得对之间的自动双向数据绑定的支持view
and viewmodel
.
确实有一大堆额外的东西我可以谈论,但杰森说就是这样far我能做的更好,所以我的建议是观看视频。这样工作几天后,您会想知道没有它您是如何度过的。
祝你好运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)