MVP开发模式


MVP(Model-View-Presenter)是MVC的改良模式,由IBM的子公司Taligent提出。和MVC的相同之处在于:Controller/Presenter负责业务逻辑,Model管理数据,View负责显示。另外将Controller改名为Presenter,同时改变了通信方向。

在这里插入图片描述
在MVP模式中,View不再负责同步逻辑,而是由Presenter负责。Presenter既负责业务逻辑也负责同步逻辑。View需要提供操作界面的接口供Presenter调用。

MVP的优点:

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

MVVM开发模式

MVVM可以看作一种特殊的MVP(Passive View)模式,或者说是对MVP模式的一种特殊改良。MVVM模式最早由微软公司提出,并且在.NET的WPF和Sliverlight中大量使用。2005年,微软公司工程师John Gossman在自己的博客上首次公布了MVVM模式。

MVVM是在原有领域Model的基础上添加一个ViewModel,这个ViewModel除了正常的属性外,还包括一些供View显示用的属性。在MVVM中,Presenter被改名为ViewModel,这样便演变成了MVVM。在支持双向绑定的平台,MVVM更受欢迎,如图在这里插入图片描述
(1)View:封装用户界面和用户界面的任何逻辑,是一个视觉元素,定义视图及其可视布局和样式中包含的控件。
(2)ViewModel:封装视图的表示逻辑和状态,不直接引用视图,负责协调Model和View。
(3)Model:封装业务逻辑和数据,负责管理应用程序的数据并将所需的业务规则和数据验证逻辑封装,确保它的一致性和有效性。Model类不直接引用View或ViewModel,不依赖于它们的实现方式。

Vue.js是当下很流行的一个MVVM开发模式框架,它是以数据驱动和组件化的思想构建的。相比于Angular.js,Vue.js提供了更加简洁、更易于理解的API,使得我们能够快速地掌握并使用Vue.js。

Vue在JavaScript前端开发库领域属于后来者,其他前端开发库有jQuery、ExtJS、Anguals、React等,但是Vue对于当前主流JavaScript库的地位具有很大的威胁。

Vue(读音/vjuː/,类似于View)是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于学习,还便于与第三方库或既有项目整合。另外,当与现代化的工具链及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。
Vue的渐进式表现为:

声明式渲染→组件系统→客户端路由→大数据状态管理→构建工具。
前端框架Vue.js的作者尤雨溪(Evan You)是一位美籍华人,现居美国新泽西州,曾就职于Google Creative Labs和Meteor Development Group。由于他在工作中大量接触开源的Java项目,最后自己也走上了开源之路,现在全职开发和维护Vue.js。时至今日,Vue已成为全世界三大前端框架之一,领先于React和Angular,在国内更是首选。

Vue重要版本发布:
(1)2013年,在Google工作的尤雨溪,受到Angular的启发,开发出了一款轻量框架,最初命名为Seed。
(2)2013年12月,Seed更名为Vue,图标颜色采用代表勃勃生机的绿色,版本号是0.6.0。
(3)2014年1月24日,Vue正式对外发布,版本号是0.8.0。
(4)2014年2月25日,0.9.0版发布,有了自己的代号Animatrix,此后,重要的版本都会有自己的代号。
(5)2015年6月13日,0.12.0版发布,代号Dragon Ball,Laravel社区(一款流行的PHP框架的社区)首次使用Vue,Vue在JS社区也打响了知名度。
(6)2015年10月26日,1.0.0版发布,代号Evangelion是Vue历史上的第一个里程碑。同年,Vue-router、Vuex、Vue-cli相继发布,标志着Vue从一个视图层库发展为一个渐进式框架。
(7)2016年10月1日,2.0.0版发布,它是第二个重要的里程碑,它吸收了React的虚拟Dom方案,还支持服务端渲染。自从Vue 2.0版发布之后,Vue就成了前端领域的热门话题。
(8)2019年2月5日,Vue发布了2.6.0版,这是一个承前启后的版本,在它之后,将推出3.0.0版。
(9)2019年12月5日,在万众期待中,尤雨溪公布了Vue 3源代码,目前Vue 3处于Alpha版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值