当前位置:网站首页>(JS) observer mode
(JS) observer mode
2022-06-29 11:03:00 【Yu Cainiao, who asked not to be named】
(JS) Observer mode
One to many
Release & subscribe
class Subject {
constructor() {
this.state = 0;
this.observers = [];
}
getState() {
return this.state;
}
setState(state) {
this.state = state;
this.notifyAllObservers();
}
// Trigger every Observer Of update() Method
notifyAllObservers() {
this.observers.forEach(observer => {
observer.update();
});
}
// Add each new observer All added this.observers in
attach(observer) {
this.observers.push(observer);
}
}
class Observer {
constructor(name, subject) {
this.name = name;
this.subject = subject;
this.subject.attach(this);
}
update() {
console.log(`${
this.name} update,state:${
this.subject.getState()}`)
}
}
let sub = new Subject();
let o1 = new Observer("11", sub);
let o2 = new Observer("22", sub);
let o3 = new Observer("33", sub);
sub.setState(5)
11 update,state:5
22 update,state:5
33 update,state:5
边栏推荐
- 悬赏平台并没有WEB端开发,在原生开发和混合开发中哪种合适?
- Numeric Keypad
- Qt编写物联网管理平台37-逻辑设计
- (JS)手写深比较
- 认不出原来的模样
- Nuc980 open source project 16- start from SPI flash (w25q128)
- 活动邀请 | Apache Doris 社区征文&演讲征集活动开始了!
- Stm32f1 and stm32subeide programming example - ultrasonic distance sensor drive
- 历史上的今天:马斯克出生;微软推出 Office 365;蔡氏电路的发明者出生
- csdn涨薪秘籍之腾讯自动化软件测试面试题(含答案)
猜你喜欢

每日刷题记录 (七)

容器平台性能如何测试,稳定性、扩展效率、组件性能

FreeRTOS porting of official website based on keil5 auto configuring STM32F103 standard library

Creating postgre enterprise database by ArcGIS

Stm32f1 and stm32subeide programming example - ultrasonic distance sensor drive

《Datawhale推荐系统教程》来了!

Luoqingqi: has high-end household appliances become a red sea? Casati took the lead in breaking the game

在Clion中使用EasyX配置

世界上第一个“半机械人”去世,改造自己只为“逆天改命”

How to obtain method parameter values through WinDbg
随机推荐
(JS)isNaN()方法判断undefined为true的原因
【NLP】文本生成专题1:基础知识
Map merges the same keys and values into a list
Qt编写物联网管理平台37-逻辑设计
Ningde era Kirin battery has greater ambition
宁德时代麒麟电池有着更大的野心
美国EB-5移民再现利好,区域中心再授权政策被叫停
免费送书啦!畅销书《 OpenCV图像处理入门与实践》一本全搞定
当技术人成长为 CEO,应该修改哪些“Bug”?
Mysql获取表信息
csdn涨薪秘籍之腾讯自动化软件测试面试题(含答案)
ModbusTCP协议网络学习型单路红外模块(双层板)
Please tell me about the Flink SQL batch task, two or more tables join (inner join or outer join
STM32F1与STM32CubeIDE编程实例-超声波测距传感器驱动
Modbus RTU 协议485学习型2路红外模块
西门子S7-200SMART控制步进电机的具体方法及示例程序
ModbusTCP协议网络学习型单路红外模块(中壳版)
【动态规划】—— 线性DP
【C语言进阶】特殊自定义类型
Reids设计与实现