我理解的设计模式:观察者模式(订阅发布模式)
来源:互联网 发布:西班牙语扫描翻译软件 编辑:程序博客网 时间:2024/06/05 02:04
观察者(Observer) 模式又称 订阅-发布(Subscribe/Publish)模式。
GOF对它的定义如下:
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
我的理解是:
有 发布者, 订阅者, 订阅器三个对象。
订阅者向订阅器订阅, 发布者发送消息, 订阅器收到消息后通知对应的订阅者,
这样就实现了发布者和订阅者的解耦。
模型举例:
场景描述:游戏中, 玩家点击掉落的血瓶。
战斗时, 实例化一个订阅器。
玩家捡起血瓶这个操作, 触发了一个事件:PICK_UP_DROP_HP,战斗向订阅器发出消息。
当PICK_UP_DROP_HP被发送到订阅器时, 订阅器遍历订阅了此消息的订阅者(比如, 表现view, buff管理器等)。
被订阅器通知的订阅者收到消息后,做出对应的操作:view给屏幕上记录的数量更新, buff根据血瓶给actor加血等等。
观察者模式的具体实现应该根据实际情况出发, 一般在订阅者上多花费功夫, 发布者稍微设计下就ok。
1 0
- 我理解的设计模式:观察者模式(订阅发布模式)
- java设计模式-观察者(发布-订阅)模式
- 观察者模式--发布/订阅模式
- 十六 设计模式之观察者模式(发布订阅模式)
- 监听器设计模式(观察者模式、订阅发布模式)
- 设计模式之观察者模式(发布-订阅模式)
- [设计模式] 观察者模式(发布-订阅/Publish-subscribe模式)
- Javascript设计模式-07-观察者模式(发布订阅模式)
- 设计模式二:观察者模式(发布订阅模式)
- 观察者模式:消息的发布与订阅
- java笔记--设计模式之观察者(订阅/发布)模式
- 设计模式(三)观察者模式Observer(发布订阅)
- 浅析JavaScript设计模式——发布-订阅/观察者模式
- js设计模式--观察者模(发布订阅模式)
- 观察者(发布-订阅)模式浅析
- 我理解的设计模式之观察者模模式
- 观察者模式(也就是发布订阅模式)
- 观察者模式之二 -发布 订阅模式
- parse_url.php
- matlab 实用 api
- 实训
- 小Z的袜子(hose)(莫队算法)
- Android开发超级工具介绍traceview
- 我理解的设计模式:观察者模式(订阅发布模式)
- 并发包-Semaphore实现线程的通信
- 字典嵌套字典的请求
- 线段树(Segment Tree)
- js实现信息滚动的效果
- NIO边看边记 之 selector选择器(六)
- 实训2
- Redis Essentials 读书笔记 - 第二章: Advanced Data Types (Earning a Black Belt)
- ContentProvider