对于MVVM的理解、使用、MVC与MVVM的区别、MVVM应用场景-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

持续学习总结输出中今天分享的是对于MVVM的理解、使用、MVC与MVVM的区别、MVVM应用场景

MVVM

MVVMModel-View-ViewModel 的缩写。MVVM 是一种设计思想。

Model 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。
View 代表UI组件它负责将数据模型转化成UI展现出来。
ViewModel 监听数据的改变和控制视图行为、处理用户交互简单的理解就是一个同步ViewModel 的对象连接ModelView

MVVM 架构下ViewModel 之间并没有直接的联系而是通过 ViewModel 进行交互 ModelViewModel 之间的交互是双向的 因此 View 数据的变化会同步到 Model 中而 Model 数据的变化也会立即反应到 View 上。

ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来而 ViewModel 之间的同步工作完全是自动的无需人为干涉因此开发者只需关注业务逻辑不需要手动操作DOM不需要关注数据状态的同步问题复杂的数据状态维护完全由 MVVM 来统一管理。

请添加图片描述

为什么要使用MVVM

低耦合 视图 View 可以独立于 Model 变化和修改一个 ViewModel 可以绑定到不同的 View 上当 View 变化的时候 Model 可以不变当 Model 变化的时候 View 也可以不变。
可复用 可以把一些视图逻辑放到一个 ViewModel 里面让很多 View 重用这段视图逻辑。
独立开发 开发人员可以专注于业务逻辑和数据的开发 ViewModel 设计人员可以专注于页面设计。
可测试 界面素来是比较难于测试的而现在测试可以针对 ViewModel 来写。

MVC与MVVM的区别

1、都是一种设计思想

2、MVC 后端用的多而 MVVM 是前端设计思想

3、MVC 是单向通信数据模型必须通过 Controller 层进行承上启下。MVVM 是将ViewModel 实现自动同步当 Model 属性改变时不用再自己手动操作Dom元素提高页面渲染性能。

MVVM应用场景

Vue.js
AngularJS
微信小程序

最后分享一句话

想要不被淘汰只有一条路一辈子不断学习不断打造全新的自己。
《未来简史》

本次的分享就到这里了

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6