浅谈MVC、MVP、MVVM架构模式的区别和联系

MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。

一、MVC(Model-View-Controller)

MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。

MVC使用非常广泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-Spring(Controller, Ioc、Spring MVC)-Hibernate(Model, ORM)以及ASP.NET中的ASP.NET MVC框架,xxx.cshtml-xxxcontroller-xxxmodel。(实际上后端开发过程中是v-c-m-c-v,v和m并没有关系,下图仅代表经典的mvc模型)

二、MVP(Model-View-Presenter)

MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。

.NET程序员熟知的ASP.NET webform、winform基于事件驱动的开发技术就是使用的MVP模式。控件组成的页面充当View,实体数据库操作充当Model,而View和Model之间的控件数据绑定操作则属于Presenter。控件事件的处理可以通过自定义的IView接口实现,而View和IView都将对Presenter负责。

三、MVVM(Model-View-ViewModel)

如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将“数据模型数据双向绑定”的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。

这方面典型的应用有.NET的WPF,js框架Knockout、AngularJS等。

(0)

相关推荐

  • 对MVC、MVP、MVVM的理解(一)

    一.MVC MVC模式再网上的争议是最大的,一些博客中是这样描述的 MVC模式的通信是单向的,View触发事件或数据的提交,到了Controller进行处理逻辑之后,返回Model给View,View ...

  • 【交流分享】浅谈华为手机的专业模式,拍照拍视频真的够专业吗?

    【交流分享】浅谈华为手机的专业模式,拍照拍视频真的够专业吗?

  • 浅谈以项目带训模式提升一线班组长能力

    客服中心对班组长能力的培养一直集中在管理能力.业务处理能力上,如果一位组长管好了自己组内的绩效,就被定义为一个合格.甚至优秀的班组长.但对于一个成长型的客服中心而言,随着业务的发展,组织的变革,需要赋 ...

  • 浅谈“绿波”交通控制模式

    对于经常开车出门的有车一族来说,频繁地遇到红灯是一件令人抓狂的事情.在现代城市交通信号控制中,为了避免这种情形,保证主要路线的畅通,经常会使用干线协调控制,使得优先保持畅通的车流可以'一路绿灯'地通过 ...

  • 【优先出版】浅谈IP 图书众筹出版模式——以《哈利• 波特立体书:霍格沃茨魔法学校》为例

    优先出版 题目丨浅谈IP 图书众筹出版模式--以<哈利· 波特立体书:霍格沃茨魔法学校>为例 来源丨<出版与印刷> 作者丨李彦芳 DOI丨10.19619/j.issn.100 ...

  • 浅谈中职计算机教学模式

    摘 要:随着社会的不断发展,计算机近年来也得到了普及,在我国应用广泛.在信息全球化的时代,掌握计算机技能是未来发展的一种趋势,也是未来工作的一种必备技能.因此,计算机教学是至关重要的,近年来,教育部门 ...

  • 浅谈“生本课堂”教学模式

    摘 要:生本教育模式强调对学生自我.自主.主动地尊重.学生是教育过程中的中心人物,教师为学生的主动发展服务. 关键词:生本教育 自主 一年前我来到了新的工作单位,有幸接触到了生本教育,这是我第一次接触 ...

  • 董文强:浅谈发动机按小时包修模式

    作者简介 作者1 董文强 工银航空金融租赁有限公司 作者2 李远航 昆仑金融租赁有限责任公司 浅谈发动机按小时包修模式 2020年 摘要:维修一直是民航产业中一个重要的组成部分,航空发动机维修更是以其 ...

  • 浅谈评测学“双教师”模式下,教师教学工作形态的改变

    作为一个能模拟教师教学的AI教育系统,评测学正为课堂教学提供一种"双教师"模式: 真人教师和评测学模拟的AI教师协同教学. AI教师教学下的学习空间具有智能性.灵活性.独立性.层次 ...

  • 浅谈赤松茸不同种植模式的利和弊

    目前,赤松茸基本上有三种主要种植模式:大棚.大田.林下.三种种植模式各有利弊,今天小编给大家简单分析一下不同种植模式的优点和弊端. 大棚种植分冷棚种植和暖棚种植两种形式. 首先说一下冷棚模式.冷棚种植 ...