MVVM架构模式

目录

MVVM

数据绑定方式

实现方式

Model

View

ViewModel


数据绑定方式

vue:: 数据劫持和发布-订阅模式:

Object.defineProperty() 方法来劫持(监控)各属性的 gettersetter ,并在数据(对象)发生变动时通知订阅者,触发相应的监听回调。

Observer------》数据监听器。对数据对象属性进行监听,变化后通知订阅者

Compiler------》指令解析器。扫描模板,指令解析,绑定事件

Watcher------》订阅者。关联Observer和Compile,能够订阅并收到属性变动的通知,通过执行Update()执行指令绑定的相应操作,更新视图。

实现方式

view和Model采用双向绑定,实现view和model数据变化会自动更新

二者不联系,实现解耦

Model

数据层,它仅仅关注数据本身,不关心任何操作

View

视图层,仅仅负责与用户交互(数据、指令的接收与显示)

ViewModel

与MVP不同的是,没有了View为Presente提供的接口,之前由Presenter负责的View和Model之间的数据同步交给了ViewModel中的数据绑定进行处理,当Model发生变化,ViewModel就会自动更新;ViewModel变化,Model也会更新。

相关推荐
新知图书4 小时前
第8章 多智能体协同
人工智能·设计模式·智能体
京师20万禁军教头8 小时前
39面向对象(高级)-设计模式
java·开发语言·设计模式
新知图书12 小时前
3.5 智能体设计模式1:反应式智能体与自动导航案例
人工智能·设计模式·智能体
事圆则缓12 小时前
MVC、MVP、MVVM、MVI 的区别与实现原理
android·kotlin·mvc
码匠许师傅13 小时前
【设计模式精讲】21.迭代器模式(Iterator)
c++·设计模式·rpc·迭代器模式·软件工程·uml
Zzzzmo_1 天前
Spring MVC
java·spring·mvc·cookie/session
Carl_奕然1 天前
【智能体】Agent的四种设计模式之:React(2026最新版)
javascript·人工智能·python·react.js·设计模式·语言模型
cfm_29141 天前
Spring核心设计模式
java·spring·设计模式
Mr.敦的私房菜2 天前
【SpringBoot请求记录】Spring Boot Actuator 自定义记录 HTTP 服务请求
spring boot·mvc·运维开发
码匠许师傅2 天前
【设计模式精讲】15.享元模式(Flyweight)
c++·设计模式·享元模式·uml