观察者模式

mac2022-06-30  191

观察者模式

 1. 观察者模式定义了对象一对多的以来关系,当一个观察者对象的状态发生改变时,所依赖于它的被观察者都会发生对应的相应

2. 观察者模式是行为模式,行为模式关注的对象之间的通讯,观察者模式就是观察者和被观察者之间的通讯

3. 主体被激活,会触发观察者里的事件,主要思想是观察者和被观察者之间产生联系

 

代码实现

 

class Subject { constructor (state) { this.state = state this.observerList = [] } attach(o) { // 观察者和被观察者之间产生关系 this.observerList.push(o) } setState(newState) { this.state = newState this.observerList.forEach(o => o.update(newState)) } } class Observer { constructor(name) { this.name = name } update(state) { console.log(this.name + state) } } let s1 = new Subject('状态1') let o1 = new Observer('观察者1') let o2 = new Observer('观察者2') s1.attach(o1) s1.attach(o2) s1.setState('改变状态2')

 

转载于:https://www.cnblogs.com/kuishen/p/11456998.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)