- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈MVP设计模式.pdf
浅谈MVP设计模式
张正龙 陈永政
(重庆工程学院)
摘 要 MVP是由MVC演变而来的经典设计模式,本文简介 息显示清楚就可以了。在后面,根据需要再随便更改View,而对
MVP基本概念 ,阐述MVc和MVP的基本区别,探究MVP如何解决MVC Presenter没有任何的影响了。 如果要实现的uI比较复杂,而且
设计模式存在的主要问题,总结MVP的优点和缺点。 相关的显示逻辑还跟Model有关系,就可以在View和Presenter之
1MVP基本 内容 间放置一个Adapter。由这个 Adapter来访问Model和View,避免
MVP的全称为M。de卜View—Presenter,Model提供数据, 两者之间的关联。而同时,因为Adapter实现了View的接口,从
View负责显示,controller/Presenter负责逻辑的处理。MVP与 而可以保证与Presenter之间接口的不变。这样就可以保证View
MVC有着一个重大的区别:在MVP中View并不直接使用Model, 和Presenter之间接口的简洁,又不失去uI的灵活性。在MvP模式
它们之间的通信是通过Presenter (MVC中的Controller)来进行 里,View只应该有简单的Set/Get的方法,用户输入和设置界面
的,所有的交互都发生在Presenter内部,而在MVC中View会直 显示的内容,除此就不应该有更多的内容,绝不容许直接访问
接从Model中读取数据而不是通过Controller。 Model——这就是与MVC很大的不同之处。
2MVC~MVP的区别 4MVP模式的最佳实践TwaverJava
MVP是从经典的模式MVC演变而来,它们的基本思想有相通 TwaverJava是基于JavaSwing和Java2D技术的产品分支。
的地方:contro儿er/Presenter负责逻辑的处理,Model提供数 它由一个开放的MVP开发框架、DataBox数据容器 、一组Swing可
据,View负责显示。作为一种新的模式,MVP与MVC有着一个重 视化组件、丰富的预定义管理对象所构成,用于呈现各种复杂
大的区别:在MVP中View并不直接使用Model,它们之间的通信 的电信网络数据和信息。TWaverJava~常适合应用在海量数
是通过Presenter (MVC中的Controller)来进行的,所有的交互 据 、交互复杂、实时l生强、对效率要求苛刻的各类电信应用软
都发生在Presenter内部,而在MVC中View会从直接Model中读取 件中。使用TWaverJava开发的软件可以部署在桌面,也可以通
数据而不是通过Controller。 过JavaApplet嵌入到浏览器Web页面中,还可以使用JavaWeb
在MVC里,View是可以直接访问Model的。从而,View里 Start和JNLP技术打包并部署在互联网上,实现程序的自动引
会包含Model信息,不可避免的还要包括一些业务逻辑。在MVC 导、启动和更新 ]。
模型里,更关注的Model的不变,而同时有多个对Model的不同 5MVP的优点和缺点
显示及View。所以,在MVC模型里,Model不依赖于View,但是 MVP的优点:模型与视图完全分离,在项 目开发过程中,
View是依赖于Model的。不仅如此,因为有一些业务逻辑在View 可以修改视图而不影响模型,可以更高效地使用模型,因为所
里实现了,导致要更改View也是比较困难的,至少那些业务逻 有的交互都发生在一个地方——Presenter内部;可以将一个
辑是无法重用的。f1 Presenter用于多个视图,而不需要改变Presenter的逻辑,这
3MVP如何解决MVC的问题 个特性非常的有用,因为视图的变化总是比模型的变化频繁;
在MYP里,Presenter完全把Model和View进行了分离,主要 如果把逻辑放在Presenter中,可以脱离用户接口来测试这些
文档评论(0)