面试题系列---【mvvm 和 mvc 区别是什么?哪些场景适合?】
MVVM 基本定义
1.MVVM 即 Model-View-ViewModel 的简写。即模型-视图-视图模型。
2.模型(Model) 指的是后端传递的数据。
3.视图(View)指的是所看到的页面。
4.视图模型(ViewModel)是 mvvm 模式的核心,它是连接 view 和 model 的桥梁。它有两个方向:
一是将模型(Model)转化成视图 (View),即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将视图 (View)转化成模型(Model),即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件 监听。这两个方向都实现的,我们称之为数据的双向绑定。
MVC 基本定义
1.MVC 基本定义 MVC 是 Model-View- Controller 的简写。即模型-视图-控制器。M 和 V 指的意思和 MVVM 中的 M 和 V 意思一样。C 即 Controller 指的是页面业务逻辑。
2.使用 MVC 的目的就是将 M 和 V 的代码分离。MVC 是单向通信。也就是 View 跟 Model,必须通过 Controller 来承上启 下。
3.MVVM 实 现的是业务逻辑组件的重用,使开发更高效,结构更清晰,增加代码的复用性。
使用场景
1.使用场景 MVC 和 MVVM 其实区别并不大。都是一种设计思想。
2.MVC 中 Controller 演 变成 MVVM 中的 viewModel,MVVM 主要解决了 MVC 中大量的 DOM 操作使页面渲染性能降 低,加载速度变慢,影响用户体验。
3.区别:vue 数据驱动,通过数据来显示视图层而不是节点操作。
4.场景:数据操作比较多的场 景,需要大量操作 DOM 元素时,采用 MVVM 的开发方式,会更加便捷,让开发者更多的精力 放在数据的变化上,解放繁琐的操作 DOM 元素