字符百科

mvc是什么意思啊(MVC与MVVM的区别!)

时间:2024-09-21 10:05:54


01 MVC是啥?

MVC是一种架构思想,全称Model-View-Controller,即模型-视图-控制器,MVC是后端的开发思想,将数据从后端经过控制器层转向前端视图展示。

  • View:视图层 ui界面
  • Model:模型 数据
  • Controller:控制器 接受并处理用户请求通知Model改变,并将Model返回给 View

优点:

(1)耦合性低:视图层和业务层分离,这样允许更改视图层代码而不用重新编译模型和控制器代码,改变其中一个不会影响到其他两个,所以这种设计思想有良好的松耦合的构件

(2)重用性高:MVC模式允许各种不同样式的视图来访问同一个服务的代码,因为多个视图能共享要给模型数据。

(3)生命周期成本低:MVC使开发和维护用户接口的技术含量降低。

(4)部署快:使用MVC模式开发时间相当大的缩减,它使程序员集中精力在业务逻辑上,视图与业务逻辑分开。

(5)可维护性高:分离视图层和业务层逻辑也是WEB应用更易于维护和修改.

(6)有利于软件工程化管理:由于不同的层各司其职,每一层不同的应用具有某些特性,有利于通过工程化、工程化管理程序代码,可以使用控制器来连接不同的模型和视图去完成客户的需求.控制器可以根据用户需求选择模型进行处理,然后选择视图处理结果显示给用户

02 MVVM是啥?

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。

Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,也就是 ViewModel。ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻量级的架构让前端开发更加高效、便捷。

  • Model:数据模型,存放用于展示的数据,有的数据是写死的,大多数是从后端返回的数据
  • View:视图,用于界面,在前端我们可以理解为Dom操作
  • ViewModel:视图模型,可实现数据的双向绑定,连接View和Model的桥梁,当数据变化时,ViewModel够监听到数据的变化(通过Data Bindings),自动更新视图,而当用户操作视图,ViewModel也能监听到视图的变化(通过DOM Listeners),然后通知数据做改动,这就实现了数据的双向绑定

优点:

(1)低耦合:视图View可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

(2)可重用性:可以把一些视图逻辑放在ViewModel里面,让很多view重用这段视图逻辑。

(3)独立开发:开发人员可以专注业务逻辑和数据的开发,设计人员可以专注页面设计。

(4)可测试:界面向来比较难预测时,测试可针对ViewModel来写。

扩展小知识,为什么会有MVVM框架:

在过去的10年中,我们已经把很多传统的服务端代码放到了浏览器中,这样就产生了成千上万行的javascript代码,它们连接了各式各样的HTML 和CSS文件,但缺乏正规的组织形式,这就是为什么越来越多的开发者使用javascript框架,比如:angular、react、vue。浏览器的兼容性问题已经不再是前端的阻碍,前端的项目越来越大,项目的可维护性和扩展性、安全性等成了主要问题,当年为了解决浏览器兼容性问题,出现了很多类库,其中最典型的就是jquery,但是这类库没有实现对业务逻辑的分成,所以维护性和扩展性极差。

综上两方面原因,才有了MVVM模式一类框架的出现。比如vue,通过数据的双向绑定,极大了提高了开发效率。

03 MVC与MVVM的区别

(1)都是一种设计思想;

(2)MVC后端用的多,而MVVM是前端设计思想;

(3)MVC是单向通信,数据模型必须通过Controller层进行承上启下。MVVM是将View和Model实现自动同步,当Model属性改变时,不用再自己手动操作Dom元素,提高页面渲染性能。

相关推荐
《王爷追妻火葬场,王妃她改嫁了》小说精彩阅读 《王爷追妻火葬场,王妃她改嫁了》最新章节列表

《王爷追妻火葬场,王妃她改嫁了》小说精彩阅读 《王爷追妻火葬场,王妃她改嫁了》最新章节列表

腊月廿三的小年夜,王府依旧冷冷清清。前院隐约传来丝竹声,是沈烨在宴请几位军中同僚。我的院子里,只有我和小桃两个人。桌上摆着一碗白粥,一碟酱瓜,一碟青菜。小桃陪着我,默默地吃

2025-09-16 15:23:47

《女儿被老公丢给绑匪后,身为商业福星的我杀疯了》大结局精彩阅读 《女儿被老公丢给绑匪后,身为商业福星的我杀疯了》最新章节目录

《女儿被老公丢给绑匪后,身为商业福星的我杀疯了》大结局精彩阅读 《女儿被老公丢给绑匪后,身为商业福星的我杀疯了》最新章节目录

为了他所谓的面子,我被训成温室的花朵,对他的所有红颜知己视而不见。为了他所谓的面子,女儿因不是男孩,被许应淮所有家里人不待见。为了他所谓的面子,他每周去看私生子都以陪我过

2025-09-16 14:27:35

(完本)青柠檬i黄柠檬小说 青柠檬i黄柠檬小说全文免费试读

(完本)青柠檬i黄柠檬小说 青柠檬i黄柠檬小说全文免费试读

我当了陈家八年不能生育的儿媳。婆家所有人都把这当成原罪,以此对我百般欺凌。就在我拿到孕检单的这一刻,我老公发来短信:「别装了,离婚协议明天就签,谁让你生不出孩子。」我将孕

2025-09-16 12:47:02

墨痕杀心小说陆明远墨锭秦墨然墨痕杀心精选章节 黑白风格小说大结局无弹窗

墨痕杀心小说陆明远墨锭秦墨然墨痕杀心精选章节 黑白风格小说大结局无弹窗

楔子暮春的雨,是临渊城最缠绵的墨。细密的雨丝斜斜织了三日,将青石板路浸得发亮,倒映着沿街书肆的幌子——"翰墨堂"的"墨"字被雨水洇开最后一笔,像滴在宣纸上的淡墨;"芸香阁"的木

2025-09-16 12:29:04

【新书】《令窈谢承序》主角佚名全文全章节小说阅读 佚名小说全本无弹窗

【新书】《令窈谢承序》主角佚名全文全章节小说阅读 佚名小说全本无弹窗

2令窈回到丞相府时,天刚蒙蒙亮。她一身嫁衣未换,忍不住质问父亲:“花轿抬错了,您的掌上明珠令婉仪成了太子妃,而我......”“够了!”令肃猛地拍桌,“你还嫌不够丢人?”令窈浑身发冷:

2025-09-16 11:41:06