MVVM
2024-09-21 18:32:21
MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model)
接下来给大家分享一个总结的MVVM,来吧------------------------
- MVC 存在的问题
- 模型的代码很少
- 控制器的代码一不小心就越来越多
- 不好测试
MVVM
- MVVM 结构图
MVVM 概念
- 在 MVVM 中,
view
和view controller
正式联系在一起,我们把它们视为一个组件 view
和view controller
都不能直接引用 model,而是引用视图模型view model
是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码
- 在 MVVM 中,
MVVM 使用注意事项
view
引用view model
,但反过来不行view model
引用了model
,但反过来不行- 如果我们破坏了这些规则,便无法正确地使用 MVVM
MVVM 的优点
- 低耦合:
View
可以独立于Model
变化和修改,一个ViewModel
可以绑定到不同的View
上 - 可重用性:可以把一些视图逻辑放在一个
ViewModel
里面,让很多view
重用这段视图逻辑 - 独立开发:开发人员可以专注于业务逻辑和数据的开发
ViewModel
,设计人员可以专注于页面设计 - 可测试:通常界面是比较难于测试的,而 MVVM 模式可以针对
ViewModel
来进行测试
MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model)
MVC 回顾
- MVC 结构图
- MVC 存在的问题
- 模型的代码很少
- 控制器的代码一不小心就越来越多
- 不好测试
MVVM
- MVVM 结构图
MVVM 概念
- 在 MVVM 中,
view
和view controller
正式联系在一起,我们把它们视为一个组件 view
和view controller
都不能直接引用 model,而是引用视图模型view model
是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码
- 在 MVVM 中,
MVVM 使用注意事项
view
引用view model
,但反过来不行view model
引用了model
,但反过来不行- 如果我们破坏了这些规则,便无法正确地使用 MVVM
MVVM 的优点
- 低耦合:
View
可以独立于Model
变化和修改,一个ViewModel
可以绑定到不同的View
上 - 可重用性:可以把一些视图逻辑放在一个
ViewModel
里面,让很多view
重用这段视图逻辑 - 独立开发:开发人员可以专注于业务逻辑和数据的开发
ViewModel
,设计人员可以专注于页面设计 - 可测试:通常界面是比较难于测试的,而 MVVM 模式可以针对
ViewModel
来进行测试
最新文章
- String类型的属性和方法
- linux 使用 nvidia 的 gpu
- Python开发入门与实战15-IIS部署
- (转)mysql账号权限密码设置方法
- Mvc Controller 单元测试 Mock User.Identity.Name
- Qt QToolTip 控件背景的 QSS 设置方法(摘抄)
- [Git]03 如何查看提交历史
- css的学习笔记
- scp简单使用
- 前端iFrame跨域问题
- javascript浏览器事件
- python介绍及下载
- 获取百度地图POI数据三(模拟关键词搜索)
- 使用SSD检测框架训练自己的数据
- css布局方式总结
- 通过putty进行端口映射并且启动jupyter notebook
- js 高效拼接字符串
- FastDFS client for .net
- Python的浅拷贝与深拷贝
- 【java编程】重写HashCode和equals方法
热门文章
- hdu2642二维树状数组单点更新+区间查询
- php上传sae路径问题
- Android新旧版本Notification
- C#-WinForm-打印控件
- JVM学习笔记:JVM的体系结构与JVM的生命周期
- Leetcode 367. Valid Perfect Square
- 【BZOJ-4422】Cow Confinement 线段树 + 扫描线 + 差分 (优化DP)
- cmd执行命令返回执行信息
- CSS3伪类选择器:nth-child()(nth-child(odd)/nth-child(even))
- [NOIP2014] 提高组 洛谷P2312 解方程