对于mvvm的理解

MVVM 是 Model-View-ViewModel 的缩写。
Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。
View 代表UI 组件,它负责将数据模型转化成UI 展现出来。
ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View。
在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

我是这么理解的:

通俗的讲,

  view:小丽

  model:小明

  viewModel:在一起的小刚和小花,简称情侣

  

  小明想和小丽处对象,但是他俩没有直接的关系。但是小丽是小花的闺蜜,小明是小刚的兄弟。 小刚知道小花和小丽是闺蜜,正好自己和小刚也是兄弟。那么自己可以通过小刚这对情侣,把自己的意愿,传递给小丽。然后小丽得到小明的意愿以后,思前想后,想了半天(交互处理)。小丽毕竟是女孩子吧,也害羞。然后把自己的想法通过小花这对情侣,反馈到小刚那里。因为小刚这对情侣也是热心,只要一得到他俩传递的信息,立马反馈给相应的人。不需要小明和小丽的督促。这个就是我对mvvm的理解。

  

  

原文地址:https://www.cnblogs.com/yjgbk/p/12161965.html

时间: 2024-08-01 16:01:41

对于mvvm的理解的相关文章

MVVM框架理解

MVC框架 将整个前端页面分成View,Controller,Modal,视图上发生变化,通过Controller(控件)将响应传入到Model(数据源),由数据源改变View上面的数据. 整个过程看起来是行云流水,业务逻辑放在Model当中,页面渲染逻辑放在View当中,但在实际运用上却存在一个问题:那就是MVC框架允许View和Model直接进行通信!! 换句话说,View和Model之间随着业务量的不断庞大,会出现蜘蛛网一样难以处理的依赖关系,完全背离了开发所应该遵循的“开放封闭原则”.

iOS开发下对MVVM的理解

最近看到新浪微博上以及iOS开发的论坛里面谈到MVVM设计模式,所谓MVVM就是Model-View-ViewModel的缩写,关于MVVM的概念,这里我不想过多的介绍,有很多介绍的很详细的博文,这里我们直奔主题,谈一谈MVVM如何利用到项目中去. 首先我们在建立项目中的时候可分为如下模块,Model,View,ViewModel,Controller. Model:  数据模型,用来处理数据 View:    视图类,用来做界面设计 ViewModel: 用来写界面以及逻辑 Controlle

mvvm的理解

1. Mvvm是什么,Mvvm是怎么来的?Mvvm模式广泛应用在WPF项目开发中,使用此模式可以把UI和业务逻辑分离开,使UI设计人员和业务逻辑人员能够分工明确. Mvvm模式是根据MVP模式来的,可以简单的说,Mvvm模式就是WPF版的MVP模式.MVP模式,MVC模式,这几个模式都是为了抽离出UI逻辑和业务逻辑. 2. 使用Mvvm模式可以参考的主流框架及简单介绍.主流开源框架:Simple Mvvm,Mvvm Light和Prism.Simple Mvvm和Mvvm Light基本一致,都

谈谈对MVC、MVP和MVVM的理解

刚出来工作的时候维护过一个老系统,该系统是用微软的ASP(Active Server Pages 动态服务器页面)写的.每一个页面都是一个ASP文件,每一个一个ASP文件中又同时包含了HTML.CSS.Java Script.VB Script代码,把这么多代码糅合在一起,可以想象一下如果一个这样的页面包含复杂的业务逻辑,每当要对系统进行维护或增加新功能的时候那个酸爽- 像上面这种把界面.业务逻辑和数据模型都整合在一起的做法,从软件的设计和可维护性方面看都是极不可取的.为了解决上述问题就发展出了

MVVM模式理解(转)

原文https://www.cnblogs.com/goloving/p/8520030.html MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定. Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层.它的核心是 MVVM 中的 VM,也就是 View

MVC与MVVM设计模式理解

MVC设计模式(View和Model之间不能直接通信) MVC是一种架构模式,M表示Model,V表示视图View,C表示控制器Controller: Model负责存储.定义.操作数据(Struts中Service和Form): View用来展示给用户,并且和用户进行交互: Controller是Model和View的协调者,Controller把Model中的数据拿过来给View使用.Controller可以直接与Model和View进行通信,而View不能与Controller直接通信.,

前端框架MVVM和VUE的理解和应用

市面上很多开源的程序里面用的前端框架以前大多用的MVVM的框架,后面逐渐的都被VUE的框架代替了,像一些比较活跃的开源程序更新轨迹上就可以看到一开始用的是MVVM模式,后期更新为VUE的框架,类似开源商城DSMall3.0之前手机端用的是MVVM模式,在3.0之后便更换成VUE的框架了,那MVVM和VUE个有什么不同呢?一.对于MVVM的理解??MVVM?是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View?代表

关于iOS中MVC和MVVM的一些思考

事情从一般开发中一个massive viewController说起,一个巨大的vc一般少则上千行代码,多则上万行. 这中情况下对代码的维护有致命性的障碍,个人亲身体验. 当你试着从6000行的代码中去找到一个网络请求,找到相关的实现逻辑,这已经能够让你眼花缭乱的. 更进一步,如果你打算对某个逻辑,某个场景进行测试,那事情的困难程度非常大. 再者,如果你想重用某一部分的场景逻辑,那几乎不可能,因为所有的代码都耦合在一个vc中了. 为什么会造成一个vc的代码这么多,这么复杂呢? 一般有以下原因:

iOS开发之MVVM在项目中的应用

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说到架构设计和团队