我最近在弄一个.net WPF项目,建立销售系统,我使用了MVP模式,第一次的零售点。 我花了一些时间来总结我的周围的方式改变头,但一旦我这样做,我认为这个概念震撼!
我的问题是:什么是MVC,MVP和MVVM之间的区别? 如果有明显的区别,是否有何时应该使用一个模式比另一个准则?
如果任何人都可以提供以此为指导,或点文章,说明我倒是很欣赏它的差异。
我最近在弄一个.net WPF项目,建立销售系统,我使用了MVP模式,第一次的零售点。 我花了一些时间来总结我的周围的方式改变头,但一旦我这样做,我认为这个概念震撼!
我的问题是:什么是MVC,MVP和MVVM之间的区别? 如果有明显的区别,是否有何时应该使用一个模式比另一个准则?
如果任何人都可以提供以此为指导,或点文章,说明我倒是很欣赏它的差异。
微软的应用架构指南介绍了MVC和MVP,并探讨两者之间的差异。
http://www.codeplex.com/AppArch
这MSDN文章介绍了MVVM和它的进化。
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
它可以是很难通过查看特定的框架实现的特定模式神交模式之间的差异。 这MSDN文章WPF MVVM参考了其解释图案作为一般的方法马丁福勒斯原创文章:
早在2004年,Martin Fowler的发表了一篇关于一个名叫演示模型(PM)图案的物品[...]考虑MVVM是更普遍的PM模式的专业化,量身订做的WPF和Silverlight平台。
因此,要了解不同的图案就来看看不同的方法,Martin Fowler的描述是非常有用的。 他的被动视图模式是MVP的做法。 他监督控制器模式是MVC方法。 他表示模型模式是MVVM的做法。 这种旧的文章大约需要这样的模式的演变。
它也可以帮忙看一下在不同的语言实现。 文章实现使用Java的ZK AJAX框架事件驱动的GUI模式对比三在现代Java框架上述Martin Fowler的模式。 尽管其不同的语言,并从WPF不同的框架,它可以帮助看到的图案,而不是模式,看看它在不同的语言进行实施。