MVVM本身是Observer模式吗?

时间:2014-05-12 12:18:14

标签: design-patterns windows-phone-8 mvvm observer-pattern

我对概念MVVM和观察者模式感到困惑。 MVVM本身是否遵循观察者模式。或者他们彼此完全不同?

任何人都可以用简单的词语解释我。

提前致谢。

2 个答案:

答案 0 :(得分:4)

MVVM-和Observable-模式是不同的模式,你会发现许多很好的例子。 假设您正在实施MVVM电话应用程序,这两种模式可以很好地结合使用:

  • 您的ViewModel(MV VM )具有您要在XAML-VIEW(M V VM)中显示/更新的属性。 无论何时设置(或更新)属性值(在ViewModel中),您都会触发类似()=> PropertyChanged("PropertyName);
  • 的内容
  • Observer现在位于MVVM Framework(或ViewModel的基类)中,此组件会观察这些更改并使用VIEW管理更新。

答案 1 :(得分:2)

MVVM基本上是 UI模式。它的主要目的是将视图与逻辑分开。 这有助于构建应用程序并使它们更易于测试,因为它引入了明确的关注点分离,并允许您开发可扩展的应用程序(如果正确完成)。

这是一个guidline,它也可以利用其他模式,并与XAML相关开发技术的绑定引擎很好地配合。

由于MVVM是构建应用程序代码的指南,因此它肯定可以利用观察者模式。例如,有一个名为ReactiveUI http://www.reactiveui.net/的框架,它使用可观察的技术(RX)实现MVVM模式。

与MVVM基础知识一样,例如通过NotifiedChangedProperty和ObservableCollections从视图模型中通知视图。

HTH