什么是MVC和MVVM,两个例子读懂它们!
MVC:Model、View、Controller
M:数据层,V:视图层,C:负责数据和视图交互的控制层
他们是如何工作的?
举例子:C是老板,M是一堆文件,V是展示这些文件的展台,老板( C )负责自己处理这些文件(M)如何展示到展台(V)
MVVM:Model、View、ViewModel。
M:数据层,V:视图层,VM:数据视图交互的工具(封装了交互的规,方法)
举例子:C还是老板(不过现在角色不是很重要,只负责发布命令),M是一堆文件,V是展示这些文件的展台,老板觉得自己展示很累,就使用了一个工具(VM),这个工具很强大,封装了各种规则来展示文件(M),而且只要文件改变,VM会自动把文件(M)更新到展台(V)上面。
总结:在MVVM中,Controller不再像MVC那样直接持有Model了。想象Controller是一个Boss,数据是一堆文件(Model),如果现在是MVC,那么数据解析(比如整理文件)需要由Boss亲自完成,然而实际上Boss需要的仅仅是整理好的文件而不是那一堆乱七八糟的整理前的文件。所以Boss招聘了一个秘书,现在Boss就不再需要管理原始数据(整理之前的文件)了,他只需要去找秘书:你帮我把文件整理好后给我。
什么是MVC和MVVM,两个例子读懂它们!相关推荐
- 两万字长文读懂 Java 集合!
作者 | 小菠萝 来源 | Java建设者(ID:javajianshe) 这篇文章历经过 5 次的打磨和修复,只为把最好的文章为大家分享. 集合在我们日常开发使用的次数数不胜数, ArrayList ...
- lightgbm 保存模型 过大_一个例子读懂LightGBM的模型文件
机器学习模型的可解释性是个让人头痛的问题.在使用LightGBM模型的肯定对生成的GBDT的结构是好奇的,我也好奇,所以就解析一个LightGBM的模型文件看看,通过这个解析,你可以看懂GBDT的结构 ...
- 两张图读懂三十岁男人的生活
今天做武汉新闻的小李在整理硬盘时看到两张图片,这正反映了一个中年男人的生活状况,在这和大家做个分享. 生活不易,事业不易,压力大吗?为什么还不松手?看看这图就知道三十的男人压力再大这能松手吗?放弃只会 ...
- 两张图读懂Saas Paas Iaas
关于Saas Paas Iaas Saas Paas Iaas许多朋友会经常忘记其含义,或者分不清,或者概念模糊,似懂非懂. 其实,只需一张图,就可以把这三个概念搞懂. 下面引用一张网上的downlo ...
- 表现层持续解耦带来的模式转变 MVC MVP MVVM
---微软WPF带来的团队变化和软件技术变化 Model-View-ViewModel是一种架构模式,主要在WPF.Silverlight和WP7开发里使用,它的目标是从视图层移除几乎所有代码隐藏( ...
- 第四十五课:MVC,MVP,MVVM的区别
前端架构从MVC到MVP,再到MVVM,它们都有不同的应用场景.但MVVM已经被证实为界面开发最好的方案了. MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/P ...
- java mvc mvp mvvm_一篇文章了解架构模式:MVC/MVP/MVVM
架构模式的文章很多,好理解的没有几个.大部分文章出现的主要问题有: 没有设定好作用域:前端MVC是改造过的MVC,和后台MVC有明显的区别,不能一概而论 没有实际的例子:实际的例子对应日常的工作,没有 ...
- Android 系统(77)---MVC,MVP,MVVM的区别
MVC,MVP,MVVM的区别 一.MVC 软件可以分为三部分 1.Model:模型层,负责处理数据的加载或者存储 2. View:视图层,负责界面数据的展示,与用户进行交互 3.Controll ...
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
本文转载自https://www.tianmaying.com/tutorial/AndroidMVC,原文作者周鸿博. 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开 ...
最新文章
- ORACLE学习第三天
- 李开复:不是言AI必称中美,而是欧洲太堂吉诃德
- Golang环境配置以及GOPATH与gomod的关系
- python中elif可以单独使用吗_python中elif可以单独使用吗
- 物联网架构----双机热备Keepalived了解
- 因误推送“台风致全省人死亡”消息 腾讯视频push线团队全部被开?回应...
- 新年快乐!这是份值得收藏的2017年AI与深度学习要点大全
- 第九届蓝桥杯 明码2018
- 并发数 = QPS*平均响应时间(转)
- paip.erlang 文本文件读写操作attilax总结
- linux single 禁用显卡,告诉你Ubuntu下禁用独显的方法及命令
- poi导出excel写入公式_poi导出excel公式
- Linux zmap安装
- 学习阶段小测,简单的幸运抽奖系统
- photoshop----剪切蒙版/置入图片
- TortoiseSVN 命令
- npm install 安装一直报错Error EPERM operation not permitted, mkdir
- android QQ分享、QQ空间分享
- 计算机组成原理——Part Three 性能指标
- Eclipse中Java项目转化为Java Web项目
热门文章
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
- asp.net在发送邮件时出现服务器响应为: You are not authorized to send mail, authentication is required 解决方案...
- Picture Box(1) 修正版
- Bailian2717 基本数据类型【字符串匹配】
- HDU2073 无限的路【数学】
- POJ1315 UVA639 UVALive5325 Don't Get Rooked题解
- HDU1492 The number of divisors(约数) about Humble Numbers【约数】
- NUC1178 Kickdown【水题】
- scala 与 spark 并行化
- 文言的理解 —— 名词篇