2009-08-19 80 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有不同的語言和不同的框架,但它可能有助於查看模式,而不是模式的實現,以便用不同的語言來完成該模式。