MVVM模式是MVC + PAC模式的共生体吗?

时间:2013-07-06 20:37:47

标签: wpf design-patterns model-view-controller mvvm pac

我浏览过维基百科,发现了这样一篇文章:

http://en.wikipedia.org/wiki/MVC4WPF

链接上部的一部分:

MVC4WPF是一种开源,可扩展,自动化的代码模式,由Information Control Corporation开发,用于基于模型 - 视图 - 控制器(MVC)和表示 - 抽象 - 控制(PAC)的Windows Presentation Foundation(WPF)开发)模式......

我知道,WPF / Silverlight确实使用MVVM模式:Model-View-ViewModel。

MVC4WPF是MVVM的第一个版本吗?

我不太了解WPF / Silverlight开发的历史,但MVVM总是让我想起某种MVC。

如果这是真的,那么MVVM = MVC + PAC

1 个答案:

答案 0 :(得分:-1)

每当我看到这样的问题时,我总会想到Dr. WPF's design pattern

你想要分别关注什么并不重要。你会听到很多WPF人都在谈论MVVM,但实际上它归结为试图让你的代码保持独立。在MVVM中,您有:

  • 模型所有数据类。什么都不知道。
  • 查看您必须显示您的数据。它知道模型,但不知道如何获得它们。通过Bindings“了解”ViewModel。根据您将它们连接在一起的方式,它甚至可以创建ViewModel。
  • ViewModel 这是视图和模型之间的粘合剂。它可以了解View,或者您可以尽力隐藏ViewModel中的视图。

在MVC中你有:

  • 模型所有数据类。什么都不知道。
  • 查看您必须显示您的数据。知道模型,但不知道如何获得它们。
  • 控制器这是视图和模型之间的粘合剂。它了解视图和模型。

真的,最后一点就是变化(因此WPF博士的MV-poo)。在WPF中,XAML中的Bindings非常好,为什么要编写一堆代码呢?无论你想要什么,都可以调用它,如果View对poo有所了解,那么在WPF中会更容易。

从未使用PAC模式,我无法说出它的优势,但是从Wikipedia来看,它似乎与MVC非常相似。所以,我会把它归类为一些MV-poo。

现在,考虑到自2009年以来MVC4WPF尚未发布(并且其文档的网站截止日期为2013年7月6日),我建议您避开它。我不能说它的优点或缺点,但如果你想要一个好的MVVM框架,MVVM LightCaliburn.Micro都会得到很好的支持和好评。

我还要指出并非所有应用都需要便便。 Mike Hillberg put this nicely