MVVM框架原理

1、好处

团队协作
可以用来统一开发人员的开发标准,在规模较大的程序当中,如果不采用统一的开发思维,很有可能在团队人员变化之后,新人搞不懂逻辑放在哪个类中。
软件架构层面
项目会变得稳定,模块之间的耦合度会降低。
例如:采用MVVM,在界面当中(也就是在‘V’当中),不会包含与业务逻辑相关的代码。

2、作用

M:Model,指的就是数据,Javascript对象。
V:View,指的是试图部分,在前端中就是DOM。
VM:ViewModel,VM是一个Observer观察者。当数据发生变化,,VM会监测到这种变化进行视图的更新;当用户对视图进行操作时,VM也可以进行数据的更新。

3、MVVM: MVC增强版

MVVM是MVC的增强版,首先需要了解MVC模型。MVC的全称即Model-View-Controller:Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。

在MVC框架中,View是可以直接访问Model的,这样不可避免的使View里面也需要包括一些业务逻辑,同时还需要Model保持不变,而Model又对应着多个不同的显示(View),所以总体说来就是,在MVC模型里面,Model不依赖View,但是View是依赖于Model的。这样就导致更改View比较困难。前后端没有解耦,Model与View没有彻底解耦。

在MVVM框架中,View用于发送用户的交互请求,之后将用户请求转交给ViewModel,ViewModel即可根据用户请求操作Model数据更新,待Model数据更新完毕,便会通知ViewModel数据发生了变化,然后ViewModel就会即刻更新View数据,完成视图的更新,从而完成用户的请求。

个人感觉MVVM和MVC的整体架构是有相似的地方的,不同的是MVVM主要用于构建基于事件驱动的 UI 平台(界面),适用于前端开发领域中数据与界面相混合的情况,所以它只专注于视图层,抽象出视图的状态和行为,实现了用户界面的UI(View)和数据(Model)的解耦。这个View和Model虽然和MVC中描述的一样,但是不相同的,可以理解为MVC中View中包含了MVVM的架构方式。而MVVM是在MVC发展到MVP之后,在提出前后端分离的基础上,对View层进行了细分,提出ViewModel对视图层进行View和Model的解耦。

MVVM框架的实现原理可以简单概括为以下几个步骤。首先,将视图(View)与数据模型(Model)进行分离,通过ViewModel将两者连接起来。ViewModel层负责将模型的数据绑定到视图上,并监听数据的变化。其次,通过双向数据绑定机制,当模型的数据发生变化时,ViewModel会自动更新视图。当用户对视图进行操作时,ViewModel会将变化传递给模型,从而实现数据的双向同步。 具体实现上,MVVM框架通常会提供数据绑定的机制,用于将视图与ViewModel中的数据进行绑定。在数据绑定过程中,当模型的数据发生变化时,会触发相应的事件通知ViewModel,ViewModel再将变化传递给视图进行更新。同时,MVVM框架还提供了命令绑定机制,用于处理用户在视图上的交互操作。 总结来说,MVVM框架的实现原理是通过将视图与数据模型分离,并通过ViewModel进行双向数据绑定,实现数据的低耦合和高重用性。这种框架能够简化开发过程,提高代码的可维护性和可测试性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MVVM框架原理浅谈](https://blog.csdn.net/qq_33339479/article/details/103875718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值