我经历过的大多数MVVM示例都使用了Model实现INotifyPropertyChanged,但在Josh Smith的CommandSink示例中 ,ViewModel实现了INotifyPropertyChanged.
我还在认知上把MVVM概念放在一起,所以我不知道是否:
您曾参与MVVM项目的其他经历是什么?
为了掌握MVVM的概念,我已经阅读了几个博客并查看了一些项目.
根据我的理解,一个视图是愚蠢的,它只知道如何呈现传递给它的东西.
模型只是普通数据,而ViewModel就像两者之间的填充,它应该从模型中获取信息并将其传递给View,View应该知道如何呈现它.或者反过来说,如果视图中的信息发生变化,它应该将更改传递给模型.
但我仍然不知道如何应用这个概念.有人可以解释一个非常简单的场景,以便我能掌握这个概念吗?我已经看过几个项目,但它仍然没有完全合理,所以如果有人能用简单的英语写出来,那就太好了.
我已经完成了一些MVVM教程,我已经看到了这两种方式.大多数人使用ViewModel for PropertyChanged(这是我一直在做的),但我遇到了一个在模型中做到这一点.两种方法都可以接受吗 如果是这样,不同方法的好处/缺点是什么?
我知道已经有关于该主题的问题,但其中的问题在某种程度上与其他问题有关,并没有提供确凿的答案.
特别是那里:问题1,问题2,当然还有问题3 所以请不要太快关闭这个问题.他们回答那里只是说"做这个,做那个"而不是为什么!
有些人否认需要a ViewModel并且说"标准"方式是直接绑定到模型.这是我否认并试图用技术论证来证明的.
从我在后台MVC,MVP,Presentation Model,它只是很自然地我使用ViewModel.也许我错过了一个重点?
所以对我来说,默认是绑定到a ViewModel,无论它Model是什么(无论它是否实现INotifyPropertyChanged).
我看到绑定到s的原因有几个ViewModel,包括(如此处提到的CodeProject和另一篇文章)
1.从视图中删除逻辑
2.安全
3.松耦合
4.发展速度
Prototype ViewModel层次结构开始并绑定到该层次结构Prototype ModelModel并且ViewModel可以开发testdriven,无论ViewView可完全由设计师,还是具有很强的设计背景开发商建5.解决了"棘手的同步"问题
6.整个项目的结构相同
7.可扩展性 …