对MVVM的理解 MVVM和MVC的区别

1 说说对MVVM的理解

Model–View–ViewModel (MVVM) 是一个软件架构设计模式(确切的说是一种软件编码规范或者软件开发模式)

MVVM有助于将图形界面的开发与后端逻辑的开发分离开来。

2 MVC和MVVM

(1)MVC

对MVVM的理解 MVVM和MVC的区别_第1张图片

MVC执行流程:
用户操作→View接收用户操作→Controller控制器处理用户操作→Model(数据持久化)→ 通知视图更新

(2)MVVM

对MVVM的理解 MVVM和MVC的区别_第2张图片

MVVM 框架实现了数据的双向绑定,也就是实现了View和Model的自动同步:当数据改变时,我们不用再手动操作Dom元素来更新视图,因为它会自动变化。

  • ViewModel能够观察到数据的变化,并通知视图更新
  • ViewModel能够监听到视图的变化,并能够通知数据发生变化

而Vue就是一个MVVM的实现者,它的核心就是实现了DOM监听与数据绑定。

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

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

3、整体看来,MVVM比MVC精简很多,我们不用再用选择器频繁地操作DOM。

4 总结
理解两种模式的基本思想,根据需求选择适合的框架。MVVM自然有很多先进的地方,但有的项目选择MVC可能会更适合。在实践中比较两种模式的各个框架的优缺点,选择适合自己的架构模式,更有利于项目的高效开发。

你可能感兴趣的:(#,面试笔记(四)【Vue】篇,mvc,mvvm,vue)