赞
踩
本篇文章的主要内容是给大家讲解一下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中实现。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。