博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MMVM模式
阅读量:6928 次
发布时间:2019-06-27

本文共 632 字,大约阅读时间需要 2 分钟。

hot3.png

MVVM

MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model)

MVC 回顾

  • MVC 存在的问题

    • 模型的代码很少

    • 控制器的代码一不小心就越来越多

    • 不好测试

MVVM

  • MVVM 概念

    • 在 MVVM 中,view 和 view controller 正式联系在一起,我们把它们视为一个组件

    • view 和 view controller 都不能直接引用 model,而是引用视图模型

    • view model 是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码

  • MVVM 使用注意事项

    • view 引用 view model,但反过来不行

    • view model 引用了 model,但反过来不行

    • 如果我们破坏了这些规则,便无法正确地使用 MVVM

MVVM 的优点

  • 低耦合:View 可以独立于 Model 变化和修改,一个 ViewModel 可以绑定到不同的 View 上

  • 可重用性:可以把一些视图逻辑放在一个 ViewModel 里面,让很多 view 重用这段视图逻辑

  • 独立开发:开发人员可以专注于业务逻辑和数据的开发 ViewModel,设计人员可以专注于页面设计

  • 可测试:通常界面是比较难于测试的,而 MVVM 模式可以针对 ViewModel 来进行测试

转载于:https://my.oschina.net/venn0126/blog/541135

你可能感兴趣的文章
laravel 杂项
查看>>
TRI 解题报告
查看>>
组合游戏题目泛做(SMZ第二轮)
查看>>
module_init的加载和释放
查看>>
JavaScript中的+= 是什么?
查看>>
find-the-difference
查看>>
算法的选择
查看>>
二分法查找(大于,大于等于x的最小,小于,小于等于x的最大值)
查看>>
Java基础-数据类型int,short,char,long,float,double,boolean,byte
查看>>
html5-6 Frame框架窗口类型
查看>>
HTML表单组件
查看>>
c# 窗口不显示标题栏及周围有/无边框的设置
查看>>
一个简单的Linux启动jar包的shell脚本
查看>>
android studio 中 添加.so 文件
查看>>
office 软件常用备忘(删除线/冻结等)
查看>>
python 学习笔记6(数据库 sqlite)
查看>>
精通Web Analytics 2.0 (3) 第一章:网站分析的新奇世界
查看>>
CSS3图片以中心缩放,放大超出隐藏实现
查看>>
linux下4种kill某个用户所有进程的方法
查看>>
全0地址
查看>>