为什么有些人将MVVP作为MVC的进化/改进,而它只是一些实现呢?

use*_*291 -2 silverlight wpf model-view-controller frameworks

围绕MVVP的常见神话是,最初Marting Fowler确实创建了一个名为MVP的模式,然后Grossman让它演变成MVVP.

他们是否仔细阅读了原始的MVC文件?MVC是作为概念呈现的,例如它从不强加一个单一的模型,它确实说模型可以在多个较小的模型中分离,这取决于人们想要对系统建模的方式.因此,如果想要创建被动视图或胖视图,那么重要的是许多视图和模型之间的双向绑定.

所以我很惊讶地读到假装MVVP是一些新的现代发明的文章,而且wpf中的双向数据绑定是一场新的革命,对我而言,业界对于40年前设置的概念进行具体化是非常缓慢的.这就是"软件危机"的根本原因,因为基本概念实施得很糟糕甚至缺乏,程序员也是行业供应商的囚犯.

所以这是原始论文 http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html

告诉我这些"现代"模式从根本上与MVC相矛盾.

Col*_*inE 9

你需要做功课!Martin Fowler在UI模式(以及一般模式)方面具有丰富的知识.请参阅他关于UI架构的文章:

http://martinfowler.com/eaaDev/uiArchs.html

Martin提出了一个名为演示模型(PM)的模式,其中PM是视图的表示,它独立于视图本身的UI控件:

http://martinfowler.com/eaaDev/PresentationModel.html

他提到了这种模式最容易实现的是使用数据绑定的UI框架,这减少了对"管道"代码的需求.

Gossman首先创造了术语Model-View-ViewModel(MVVM),但大多数人认为这与PM的模式相同,但是,大多数人认为MVVM是PM的WPF/Silverlight特定版本,即MVVM通常意味着遵循进一步的约定,例如使用DataTemplates,ICommand等...

这两种模式都与MVC类似,如果将依赖关系绘制到每个模式的三个组件,MVC会创建一个三角形,而PM和MVVM就是一条线.

大多数经验丰富的开发人员采用实用的方法来处理模式.它们是一种工具,选择最适合您问题的工具,如果您需要弯曲它以使其适合,那就去做吧.

停止压力 - 写一些代码;-)