当前位置: 首页 > news >正文

什么是MVVM?

MVVM 是 Model-View-ViewModel 的缩写,是M-V-VM三部分组成。它本质上就是MVC的改进版。

M:Model 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。

V:View 代表视图UI,它负责将数据模型转化成UI 展现出来。

VM:ViewModel 将视图UI和业务逻辑分开,监听模型数据的改变和控制视图行为、处理用户交互。简单理解就是一个同步View 和 Model 的对象,连接 Model和View。

MVVM采用双向数据绑定,View中数据变化将自动反映到ViewModel上;反之,Model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。

ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

MVVM核心思想,开发者只需关注业务逻辑,不需要手动操作DOM,不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。也就是所谓的数据-视图分离,数据不会影响视图。

优点:

① Controller简洁清晰
 ViewModel分离出来大部分的Controller代码,更加清晰和容易维护。

② 方便测试
大部分Bug来自于逻辑处理,由于ViewModel把逻辑分离出来,可对ViewModel构造单元测试。

③ 开发解耦
1)一位开发者负责逻辑实现,另一位开发者负责UI实现

2)敏捷开发中,并非等后端借口提供后再开发,提供前可完成Controller和View的开发工作。
 

缺点:

① 代码量比MVC多;

② 需对每个Controller实现绑定,这是分离不可避免的工作量。

http://www.lryc.cn/news/59519.html

相关文章:

  • Java 企业电子招投标采购系统源码:采购过程更规范,更透明
  • 1384:珍珠(bead)
  • 34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?
  • 一文理解Transformer整套流程
  • 04、SpringBoot运维实用篇
  • 3.Java运算符
  • 《RockectMQ实战与原理解析》Chapter4-分布式消息队列的协调者
  • Spring Boot 最适配的 UI 是什么
  • TensorFlow 1.x 深度学习秘籍:6~10
  • 分布式场景下,Apache YARN、Google Kubernetes 如何解决资源管理问题?
  • RK3399平台开发系列讲解(基础篇)POSIX 定时器
  • web小游戏开发:扫雷(三)(完成度90%)
  • 创建菜单栏、菜单、菜单项
  • 专访丨AWS量子网络中心科学家Antía Lamas谈量子计算
  • [ 云计算 | Azure ] Chapter 04 | 核心体系结构之数据中心、区域与区域对、可用区和地理区域
  • 升级长江存储最新闪存,忆恒创源发布新一代企业级NVMe SSD
  • Xcode14:”Failed to prepare the device for development“解决
  • 程序员的“灵魂笔记本“:五款高效笔记软件推荐
  • Linux基础命令-scp远程复制文件
  • 【python学习】基础篇-列表元素排序操作 sort()、min()、max()函数
  • 机器视觉检测系统的基本流程你知道吗
  • 【vue】Vue 开发技巧:
  • Kubebuilder Hello World
  • SpringSecurity之权限方案——用户认证
  • 本地电脑轻松部署GPT4(无需账号)!
  • 每天一道大厂SQL题【Day21】华泰证券真题实战(三)
  • 腾讯云8核16G18M轻量服务器CPU带宽流量性能测评
  • 算法之归并排序
  • Mysql日志系统-mysql serve层
  • 阿里云蔡英华:云智一体,让产业全面迈向智能