Model-view-presenter
Model-view-presenter,简称MVP,是电脑软体设计工程中一种对针对MVC模式,再审议后所延伸提出的一种软体设计模式。
模式描述
Model-View-Presenter (MVP) 是使用者介面设计模式的一种,被广泛用于便捷自动化单元测试和在呈现逻辑中改良分离关注点(separation of concerns)。
- Model 定义使用者介面所需要被显示的资料模型,一个模型包含著相关的业务逻辑。
- View 视图为呈现使用者介面的终端,用以表现来自 Model 的资料,和使用者命令路由再经过 Presenter 对事件处理后的资料。
- Presenter 包含著元件的事件处理,负责检索 Model 取得资料,和将取得的资料经过格式转换与 View 进行沟通。
MVP 设计模式通常会再加上 Controller 做为整体应用程序的后端程序工作。
实作
Java
在Java(AWT/Swing/SWT)应用程式里,MVP模式可以透过让使用者介面类别实行视图接口(view interface)来运作。
相同的方法可以用在Java根基于网页的应用程式,因为现代Java根基于元件的网页框架允许使用和胖客户端(thick clients)相同的逐项布置法(component approach)客户端逻辑的开发。
在Google Web Toolkit里使用MVP只需要一些元件实行视图接口。相同的方法在Echo2网页框架里也能使用。
Google Web Toolkit - MVP
- Google Web Toolkit 结构:Best Practices For Architecting Your GWT App[1]
- Large scale application development and MVP [2]
- gwt-presenter[3]
参考资料
- ^ Google Web Toolkit Architecture: Best Practices For Architecting Your GWT App. [2010-10-08]. (原始内容存档于2013-10-19).
- ^ Large scale application development and MVP. [2010-10-08]. (原始内容存档于2010-12-31).
- ^ gwt-presenter. [2010-10-08]. (原始内容存档于2016-01-15).
参见
外部参考
- GWT: Model-View-Presenter Architecture Diagram, https://web.archive.org/web/20100121031446/http://www.nieleyde.org/SkywayBlog/post.htm?postid=37782056-c4e1-4dfb-9caa-40ab9552ca3b