2009-08-19 75 views
41

我最近在弄一个.net WPF项目,建立销售系统,我使用了MVP模式,第一次的零售点。我花了一段时间来围绕改变方法,但一旦我做到了,我认为这个概念摇摆不定!MVC/MVP/MVVM到底是什么?

我的问题是:什么是MVC,MVP和MVVM之间的区别?如果有明显的区别,是否有指导你何时应该使用另一种模式?

如果任何人都可以提供以此为指导,或点文章,说明我倒是非常的不同欣赏它。

+0

你怎么可以用MVP,如果WPF与默认MVVM模式为Silverlight的开发? – 2013-07-07 01:27:36

+1

[什么是MVP和MVC以及它们有什么区别?](http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference) – Mast 2014-12-11 14:18:03

回答

3

它可以是硬质通过查看的特定框架实现的特定图案神交图案之间的差异。这MSDN文章WPF MVVM参考了其解释图案作为一般的方法马丁福勒斯原创文章:早在2004年

,Martin Fowler的发表了一篇关于一个名叫演示模型(PM)图案的物品[...]考虑MVVM将成为针对WPF和Silverlight平台量身定制的更一般PM模式的专业化版本, 。

因此,要了解不同的模式,有必要查看Martin Fowler对不同方法的描述。他的Passive View模式是MVP方法。他的Supervising Controller模式是MVC方法。他的Presentation Model模式是MVVM方法。这older article需要关于这种模式的演变。

它也可以帮忙看一下在不同的语言实现。文章Implementing event-driven GUI patterns using the ZK Java AJAX framework对比了现代Java框架中上述三种Martin Fowler模式。尽管它与WPF有不同的语言和不同的框架,但它可能有助于查看模式,而不是模式的实现,以便用不同的语言来完成该模式。