当前位置:   article > 正文

MVC和MVVM【区别和详解】_mvvm和mvc的区别

mvvm和mvc的区别

本篇文章的主要内容是给大家讲解一下MVC与MVVM思想之间的区别,希望能对你有所帮助。

他们的区别主要在于MVC中Controller(控制层)变成了MVVM中的viewModel(双向数据绑定)。
MVVM解决了MVC中需要大量操作DOM所带来的问题。
MVVM中的Model频繁发生变化时,开发者需要主动更新到View中。

一、MVC(Model-View-Controller)
在这里插入图片描述

MVC(Model View Controller)是一种比较直观的软件设计的框架模式,采用用户操作(Model)—View(负责接收用户的输入操作)— Controller(业务逻辑处理)— Model(数据持久化)— View(将结果反馈给View)。通俗来讲,MVC理念就是把数据处理、数据展示(界面)和程序/用户的交互三者分离开的一种编程模式。

mvc理念:

  • 模型(Model):负责数据管理和业务逻辑。模型表示应用程序中的数据结构以及对数据的操作。

  • 视图(View):负责用户界面的展示和呈现,通常是用户可以看到和与之交互的部分。

  • 控制器(Controller):负责接收用户的输入并作出响应,它处理用户与模型和视图之间的交互。控制器将用户的操作转发给模型进行处理,并将模型的结果传递给视图进行展示。

MVC 的优势:
能够将应用程序的各个功能模块分离开来,提高代码的可维护性和可扩展性。通过明确定义了各个组件的职责,开发人员可以更好地组织和管理代码,同时也使得代码更容易被复用。

二、MVVM(Model-View-ViewModel)
在这里插入图片描述

MVVM是Model-View-ViewModel的简写,是M - V - VM 三部分组成。本质是MVC的改进版。
MVVM是将“数据模型数据双向绑定”的思想作为核心,关注Model的变化。让MVVM框架利用自己的机制自动更新DOM(即所说的View视图),也就是所谓的数据-视图分离。

MVVM理念:

  • 模型(Model):与 MVC 中的模型相似,负责数据管理和业务逻辑。

  • 视图(View):与 MVC 中的视图相似,负责用户界面的展示和呈现。

  • 视图模型(ViewModel):是连接模型和视图之间的桥梁。视图模型负责获取和处理模型中的数据,并为视图提供数据绑定所需的属性和命令。它将模型中的数据转换为视图可以使用的形式,同时也接收来自视图的用户输入并将其转发给模型进行处理。

MVVM的优势:
1、MVC和MVVM都是一种设计思想: 主要就是MVC中Controller(控制层)演变成MVVM中的viewModel。 MVVM主要解决了mvc中大量DOM操作使页面渲染性能降低,加载速度变慢的问题 。

2、MVVM与MVC最大的区别就是:它实现了View和Model的自动同步:当Model的属性改变时,我们不用再自己手动操作Dom元素来改变View的显示,它会自动变化。

3、总的来说,MVVM 强调数据绑定和视图模型的概念,通过数据绑定实现了视图和视图模型之间的自动同步;而 MVC 则强调控制器作为视图和模型之间的中介,通过控制器进行通信。MVVM 在关注点分离方面更进一步,使得代码更加可维护和可测试。选择使用哪种架构模式取决于具体的应用需求和开发团队的偏好。

重点:

MVVM 是一种软件架构模式。它是基于 MVC 的一种演变,将视图和数据绑定的方式更加紧密地结合在一起。

注意:

MVVM并不是用ViewModel完全取代了Controller,mvvm只能算是mvc的升级版本,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/66236
推荐阅读
相关标签
  

闽ICP备14008679号