当前位置: 首页 > news >正文

如何建立淘宝客网站/深圳网站推广

如何建立淘宝客网站,深圳网站推广,网站建设与网页制作盒子模型,常州 网站建设MVP模式编辑 目录 1MVC和MVP的区别? 2MVP如何解决MVC的问题? 3MVP的优点 4MVP的缺点 1MVC和MVP的区别?编辑 MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理&#xff0…

MVP模式编辑

目录

1MVC和MVP的区别?

2MVP如何解决MVC的问题?

3MVP的优点

4MVP的缺点

1MVC和MVP的区别?编辑

MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示。作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller。
在MVC里,View是可以直接访问Model的!从而,View里会包含Model信息,不可避免的还要包括一些 业务逻辑。 在MVC模型里,更关注的Model的不变,而同时有多个对Model的不同显示,及View。所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的。不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难的,至少那些业务逻辑是无法重用的。

2MVP如何解决MVC的问题?编辑

在 MVP里,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的 View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变,即重用! 不仅如此,我们还可以编写测试用的View,模拟用户的各种操作,从而实现对Presenter的测试--而不需要使用自动化的测试工具。 我们甚至可以在Model和View都没有完成时候,就可以通过编写Mock Object(即实现了Model和View的接口,但没有具体的内容的)来测试Presenter的逻辑。 在MVP里,应用程序的逻辑主要在Presenter来实现,其中的View是很薄的一层。因此就有人提出了Presenter First的设计模式,就是根据User Story来首先设计和开发Presenter。在这个过程中,View是很简单的,能够把信息显示清楚就可以了。在后面,根据需要再随便更改View, 而对Presenter没有任何的影响了。 如果要实现的UI比较复杂,而且相关的显示逻辑还跟Model有关系,就可以在View和Presenter之间放置一个Adapter。由这个 Adapter来访问Model和View,避免两者之间的关联。而同时,因为Adapter实现了View的接口,从而可以保证与Presenter之 间接口的不变。这样就可以保证View和Presenter之间接口的简洁,又不失去UI的灵活性。 在MVP模式里,View只应该有简单的Set/Get的方法,用户输入和设置界面显示的内容,除此就不应该有更多的内容,绝不容许直接访问 Model--这就是与MVC很大的不同之处。

3MVP的优点编辑

1、模型与视图完全分离,我们可以修改视图而不影响模型
2、可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部
3、我们可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。
4、如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑(单元测试)

4MVP的缺点编辑

由 于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁。还有一点需要明白,如果Presenter过多地渲染了视 图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么Presenter也需要变更了。比如说,原本用来呈现Html的 Presenter现在也需要用于呈现Pdf了,那么视图很有可能也需要变更。

 

转载于:https://www.cnblogs.com/dudu580231/p/4560625.html

http://www.lbrq.cn/news/1468297.html

相关文章:

  • 做电子芯片的有那些交易网站/windows优化大师破解版
  • 提升自己网站/网络营销心得体会1000字
  • 和县网站开发/百度seo排名优化如何
  • 广东华迪工程建设监理公司网站/竞价推广工具
  • xuzhou公司网站制作/域名排名查询
  • 湘潭找工作网站/竞价广告
  • 淘宝做海淘产品 网站折扣变化快/上海百度搜索排名优化
  • 手机网站制作费用多少/seo排名优化点击软件有哪些
  • 做电影网站要怎么拿到版权/人民日报新闻
  • 乌鲁木齐百度seo/seo快速优化软件
  • 花瓣网是仿国外那个网站做的/宁德市
  • 晋城手机网站建设/站长工具ip查询
  • 做实验用哪些国外网站/外贸推广方式
  • 网站建设主流技术/玄幻小说排行榜百度风云榜
  • 网站建设和维护怎么学/我赢网seo优化网站
  • 今日兰州疫情最新消息/谷歌seo博客
  • 男人和女人做性网站/爱站网seo工具
  • dede网站迁移步骤/平台推广员是做什么的
  • 武汉网站建设优化/网站推广方案有哪些
  • 企业3合1网站建设/网站推广seo方法
  • 怎么做网站把图片发到网上/网站建设服务公司
  • 深圳做网站价格/网站你应该明白我的意思吗
  • 做网站策划案/百度快速排名优化技术
  • 阿里云备案网站建设方案书案例/营销型公司网站建设
  • 北京网站设计公司新鸿儒/近期国内外重大新闻10条
  • 国内net开发的网站建设/网络营销的产品策略
  • 织梦可以做大型网站吗/百度seo优化是什么
  • 企业网查询四六级/深圳seo优化电话
  • 开源房产网站源码/设计公司网站设计
  • 运营网站团队建设/app营销十大成功案例
  • GaussDB having 的用法
  • Java多线程入门-基础概念与线程操作
  • 【MQ】kafka同步和异步的区别
  • linux中posix消息队列的使用记录
  • 超越 ChatGPT:智能体崛起,开启全自主 AI 时代
  • Product Hunt 每日热榜 | 2025-08-01