MVC和MVVM区别和VUE关系

这篇具有很好参考价值的文章主要介绍了MVC和MVVM区别和VUE关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MVC(Model-View-Controller)和 MVVM(Model-View-ViewModel)是两种常见的前端架构模式,它们的主要区别在于处理业务逻辑和数据操作的方式。

MVC中,View(视图)可以直接访问Model(模型),而Controller(控制器)主要负责收集数据,并将数据从Model传递给View来完成交互。在MVC中,Controller承担了大量的责任,随着项目复杂度的增加,Controller中的代码可能会变得过于庞大和复杂,不利于维护。

相比之下,MVVM在处理业务逻辑和数据操作上更加灵活。ViewModel是一个同步Model和View的对象,Model和View之间没有直接的联系,而是通过ViewModel来实现交互。在MVVM架构下,Model和View的同步是通过双向绑定实现的,这意味着View的数据会同步到Model上,Model的数据变化也会即时显示在View上。这种自动同步的特性使得MVVM能够解决MVC中的大量DOM操作导致页面渲染速度降低、加载速度过慢等问题。

总的来说,MVC和MVVM都是为了实现Web系统的职能分工,但MVVM通过将数据绑定工作放到一个JS里去实现,解决了MVC中Controller承担过多责任的问题,使代码更易于维护。此外,MVVM通过双向绑定实现了Model和View的自动同步,提高了页面渲染速度和用户体验。

MVVM 新增了 VM 类
ViewModel 层:做了两件事达到了数据的双向绑定⼀是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页⾯。实现的⽅式是:数据绑定。⼆是将【视图】转化成【模型】,即将所看到的页⾯转化成后端的数据。实现的⽅式是:DOM 事件监听。MVVM 与 MVC 最⼤的区别就是:它实现了 View 和 Model 的⾃动同步,也就是当 Model 的属性改变时,我们不⽤再⾃⼰⼿动操作 Dom 元素,来改变 View 的显⽰,⽽是改变属性后该属性对应 View 层显⽰会⾃动改变(对应Vue数据驱动的思想)
整体看来,MVVM ⽐ MVC 精简很多,不仅简化了业务与界⾯的依赖,还解决了数据频繁更新的问题,不⽤再⽤选择器操作 DOM 元素。因为在 MVVM 中,View 不知道 Model 的存在,Model 和 ViewModel 也观察不到 View,这种低耦合模式提⾼代码的可重⽤性
注意:Vue 并没有完全遵循 MVVM 的思想这⼀点官⽹⾃⼰也有说明
那么问题来了为什么官⽅要说 Vue 没有完全遵循 MVVM 思想呢?
严格的 MVVM 要求 View 不能和 Model 直接通信,⽽ Vue 提供了$refs 这个属性,让 Model 可以直接操作 View,违反了
这⼀规定,所以说 Vue 没有完全遵循 MVVM。文章来源地址https://www.toymoban.com/news/detail-815358.html

到了这里,关于MVC和MVVM区别和VUE关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MVC,MVP,MVVM的理解和区别

    MVC MVC ,早期的开发架构,在安卓里,用res代表V,activity代表Controller层,Model层完成数据请求,更新操作,activity完成view的绑定,以及业务逻辑的编写,更新view,这种模式是单向的,虽然代码存在分层,但是之间的耦合性还是很高,并且C层做的事情很多,久而久之会变得臃肿

    2024年02月10日
    浏览(41)
  • 什么是 MVVM?MVVM和 MVC 有什么区别?什么又是 MVP ?

    MVVM是 Model-View-ViewModel的缩写,即模型-视图-视图模型。MVVM 是一种设计思想。 模型(Model):代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。数据保存—存放着各种数据,有的是固定写死的,大多数是从后端返回的数据 视图 (View):代表UI 组件,它负责将数

    2023年04月24日
    浏览(51)
  • 【Android】MVC,MVP,MVVM三种架构模式的区别

    MVC 传统的代码架构模式,仅仅是对代码进行了分层,其中的C代表Controller,控制的意思 将代码划分为数据层,视图层,控制层,三层之间可以任意交互 MVP MVP是在MVC基础上改进而来的一种架构,其中的P代表Presenter,主持的意思 它主要在以下两方面进行了改进:解耦,接口化

    2024年02月13日
    浏览(69)
  • Android安卓架构MVC、MVP、MVVM模式的概念与区别

    目录 MVC框架 MVP框架 MVVM框架 MVVM与MVP区别 MVVM与MVC区别 MVC、MVP、MVVM模式哪个要好一些 MVC(Model-View-Controller)、MVP(Model-View-Presenter)、MVVM(Model-View-ViewModel)是三种常见的软件架构模式,它们的目的都是将应用程序的不同部分分离开来,以提高代码的可维护性、可扩展性和可

    2024年02月21日
    浏览(64)
  • react04- mvc 、 mvvm

    使用框架前: 操作dom == js获取dom元素,事件侦听,修改数据,设置样式。。。 操作dom问题: 直接操作dom,会造成大量的回流、重绘,消耗大量性能 操作起来也很麻烦 使用框架后: 数据驱动显示(开发效率更高,性能也更好) 不在直接操作dom 操作数据,修改数据后 ,框架按

    2024年03月15日
    浏览(34)
  • 浅谈下mvc和mvp、mvvm到mvvm+Jetpack

    作者:抓不住老鼠的猫 MVC MVC全名为Model-View-Controller,图解如下 View:负责与用户交汇,显示界面。 Controller:负责接收来自view的请求,处理业务逻辑。 Model:负责数据逻辑,网络请求数据以及本地数据库操作数据等。 在MVC架构中,Controller是业务的主要承载者,几乎所有的业

    2024年02月16日
    浏览(43)
  • 【软件架构模式——MVC、MVP、MVVM】

    1. MVC(Model-View-Controller) 概念介绍: MVC是一种软件架构模式,用于组织应用程序的代码和逻辑。它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。 **模型(Model)**负责处理应用程序的数据逻辑和状态。它表示应用程序的数据源,并封装了与

    2024年02月11日
    浏览(62)
  • 【前端面试常问】MVC与MVVM

    前端开发世界中,架构设计犹如高楼之基,决定着代码的组织层次、模块间交互方式以及项目长远的可维护性和扩展性。本文将全方位剖析两种主流前端架构模式——MVC(Model-View-Controller)与MVVM(Model-View-ViewModel),辅以实例助你透彻理解其核心理念与实战技法。 面对面试官

    2024年04月25日
    浏览(31)
  • Android面试题:MVC、MVP、MVVM

    MVC结构: 1.MVC(Model-View-Controller) 2.Model:对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算,变更等操作也是必须放在的该层的。 3.View:主要包括一下View及ViewGroup控件,可以是系统控件也可以是自定义控件。4.Controller:Android的控制层通常在Activity、Fragmen

    2024年02月11日
    浏览(45)
  • Angular系列教程之MVC模式和MVVM模式

    在讨论Angular的时候,我们经常会听到MVC和MVVM这两种设计模式。这两种模式都是为了将用户界面(UI)和业务逻辑分离,使得代码更易于维护和扩展。在这篇文章中,我们将详细介绍这两种模式,并通过示例代码展示Angular是如何实现MVVM模式的。 MVC模式是Model-View-Controller的缩写,

    2024年01月17日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包