MVP(SC),MVP(PV),PM,MVVM和MVC表现模式架构对比2011-11-15 博客园 Beginor翻译 CodeProject 上的一篇文章,对常见的几种表现模式 (Presentation patterns) 进行了说明, 并进行对比。原文地址是http://www.codeproject.com/KB/aspnet/ArchitectureComparison.aspx表现模式 (Presentation patterns) 背景与用户界面 (UI) 相关的最大的问题就是大量的凌乱的代码,主要是由这两个因素造成的,首先是用 户界面包含负责的逻辑用于维护界面相关对象,其次也包含了应用程序状态的维护。表现模式 (Presentation patterns) 就是围绕如何移除用户界面的复杂性,让界面更加简洁和可管理而产生的,下 图就是常见表现模式的种类与分类:

用户界面的3大问题:状态 (State) , 逻辑 (Logic) ,同步 (Synchronization)状态 (State) : 状态是用户界面最关心的问题之一。状态是用户界面数据的当前快照,在 Web 应用 中,可能是 Session 级别的一个变量,在 Windows 应用中, 则可能只是界面级别的数据。 用户界面包 含的状态越多, 则用户界面越复杂。逻辑 (Logic) : 用户界面往往包含界面逻辑,例如维护文本框、组合框或者其它任何界面元素,用 户界面中这种逻辑越多,则用户界面越复杂。同步 (Synchronization) : 用户界面通常需要和业务组件协作,因此用户界面需要在界面元素与业 务对象之间同步数据,如果用户界面包含的同步任务越多,则用户界面越复杂。