马丁·福勒(Martin Fowler)过去也曾采用“Presentation Model”这个术语谈论这些想法。因此,如果你搜索这个短语,可能会找到有用的教程,因为这不是“微软发明的术语”。 :-)事实上,这份微软概述材料直接承认了福勒的工作。在2005年,微软的WPF和Silverlight架构师之一John Gossman在他的博客上推出了Model-View-ViewModel(MVVM)模式。MVVM与Fowler的Presentation Model相同,两种模式都具有视图的抽象,其中包含视图的状态和行为。Fowler引入Presentation Model作为创建UI平台无关的视图抽象的一种手段,而Gossman引入MVVM作为利用WPF的核心功能简化用户界面创建的标准化方法。从这个意义上讲,我认为MVVM是更一般的PM模式的专业化,特别适合WPF和Silverlight平台。
我想分享一篇我写的MVVM(Silverlight)和PresentionModel(Flex)的比较文,它展示了这两种实现同一模式的差异/比较: http://houseofbilz.com/archives/2010/12/29/cross-training-in-silverlight-flexmvvm-vs-presentation-model/
你发现的所有示例都是针对Silverlight的原因是因为MVVM在很大程度上是微软的发明。它与将WPF视图与数据绑定的简易性有关。 "ViewModel"只不过是传统MVC设计模型中控制器执行的一部分功能的描述方式; 一些MVVM描述甚至包括一个控制器。 话虽如此,你的应用程序是否严格遵循MVVM或MVC模型并不重要。这更像是一个高层次的组织思想,应该指导你的设计和开发。如果你完全不了解这些模型,你可以找到任意数量的快速网络教程,可能还有一些印刷文献涉及这个主题。