为什么我们在处理WPF时会使用MVVM而不是MVC?
使用它可以获得多大的好处?
编辑:
说实话,今天我接受了采访,我被问到这个问题.我的答案像INotifyPropertyChanged,ICommand,IValue Convertor ..但他并不满意.从此我提出了这个问题
提前致谢
Eig*_*ite 47
我会给你一个Jason Dolinger 特别有用的视频.
来自WinForms世界,实现任何MVX风格模式似乎比它的价值更麻烦但是在与WPF合作几年之后,我可以诚实地说我不会考虑更少.整个范例都是开箱即用的.
首先,关键的好处是实现view和之间的真正分离model.实际意义上的含义是,如果/当您的模型需要更改时,它可以在没有视图需要的情况下反之亦然.
其次,虽然您model可能包含您可能需要的所有数据view,但您可能希望以model不支持的方式抽象数据.例如,假设您的模型包含日期属性.在模型中,它可以仅作为DateTime对象存在,但您的视图可能希望以完全不同的方式呈现它.没有viewmodel你要么必须复制该属性model以支持视图或修改可能严重模糊"模型"的属性.
您还可以使用a viewmodel来聚合模型中存在于单独的类/库中的部分,以便view为处理提供更流畅的界面.这是非常不可能的,你会想用数据在你的代码中,用户将要或将要展现给他们的数据相同的方式工作.
最重要的是,您可以获得view和之间自动双向数据绑定的支持viewmodel.
确实有一大堆额外的东西我可以喋喋不休,但杰森说我的建议要好得多,所以我的建议是观看视频.经过几天这样的工作,你会想知道没有它你是如何得到的.
祝好运.
And*_*mes 17
这些是我特有的MVVM
另外两种模式在他们所关注的问题上实际上是分开的.您可以将MVVM与MVP和MVC一起使用(大多数好的样本都有这种形式).
事实上,在我看来,MVP(带有Passive View,而不是监督控制器)实际上只是MVVM的一个变种.
| 归档时间: |
|
| 查看次数: |
31516 次 |
| 最近记录: |