Model-view-presenter

Model-view-presenter,简称MVP,是电脑软件设计工程中一种对针对MVC模式,再审议后所延伸提出的一种软件设计模式。

模式描述

编辑

Model-View-Presenter (MVP)用户界面设计模式的一种,被广泛用于便捷自动化单元测试和在呈现逻辑中改良分离关注点(separation of concerns)。

  • Model 定义用户界面所需要被显示的资料模型,一个模型包含着相关的业务逻辑。
  • View 视图为呈现用户界面的终端,用以表现来自 Model 的资料,和用户命令路由再经过 Presenter 对事件处理后的资料。
  • Presenter 包含着组件的事件处理,负责检索 Model 获取资料,和将获取的资料经过格式转换与 View 进行沟通。

MVP 设计模式通常会再加上 Controller 做为整体应用程序的后端程序工作。

实现

编辑

JavaAWT/Swing/SWT)应用程序里,MVP模式可以透过让用户界面类别实行视图接口(view interface)来运作。

相同的方法可以用在Java根基于网页的应用程序,因为现代Java根基于组件的网页框架允许使用和胖客户端(thick clients)相同的逐项布置法(component approach)客户端逻辑的开发。

Google Web Toolkit里使用MVP只需要一些组件实行视图接口。相同的方法在Echo2网页框架里也能使用。

Google Web Toolkit - MVP

编辑
  1. Google Web Toolkit 结构:Best Practices For Architecting Your GWT App[1]
  2. Large scale application development and MVP [2]
  3. gwt-presenter[3]

参考资料

编辑
  1. ^ Google Web Toolkit Architecture: Best Practices For Architecting Your GWT App. [2010-10-08]. (原始内容存档于2013-10-19). 
  2. ^ Large scale application development and MVP. [2010-10-08]. (原始内容存档于2010-12-31). 
  3. ^ gwt-presenter. [2010-10-08]. (原始内容存档于2016-01-15). 

参见

编辑

外部参考

编辑