- 79
- 0
观察者模式的定义:
观察者模式使用三个类:Subject、Observer 和 Client
Subject对象 带有绑定 Observer对象 到 Client对象 和 从 Client对象 解绑 Observer对象 的方法
观察者模式的栗子:
拍卖的时候,拍卖师观察古董的最高标价,然后通知给其他竞价者竞价
疑惑:古董属于subject应该是确定无误了,拍卖师和竞价者谁是observer谁是client?
(因为想知道 古董的标价 这个state或者说是data或者说是status,在 client 和 subject 和 client 这三者间,到底是如何绑定刷新与流动的?)源文章戳这里
- 共 0 条
- 全部回答
-
ソ记忆扯散流年 普通会员 1楼
观察者模式是一种行为设计模式,其中的"观察者"(Observer)对象能够接收到某个事件发生时的通知,而"被观察者"(Subject)对象可以对这些通知做出反应。
在这个模式中,有两个主要对象:观察者和被观察者。观察者对象是用来接收事件通知的对象,被观察者对象是用来处理通知的。
那么,我们来看一下这两个对象之间的一些疑惑:
-
客户对象和观察者对象的关系:客户对象是被观察者对象的父对象,客户对象会通过观察者对象向被观察者对象发送通知。
-
观察者对象和被观察者对象的关系:被观察者对象是观察者对象的子对象,被观察者对象可以接收观察者对象发送的通知。
那么,我们应该如何理解和使用观察者模式呢?
-
观察者模式是单例模式的扩展,通过在客户端注册观察者对象,可以在所有客户端上共享相同的观察者列表,提高代码的复用性和可维护性。
-
观察者模式可以用来实现行为的回调,当被观察者对象的状态发生变化时,可以通过通知所有观察者对象,让所有观察者对象执行相应的操作。
-
观察者模式也可以用来实现事件的订阅和发布,当被观察者对象需要处理某个事件时,可以通过通知所有观察者对象,让所有观察者对象监听这个事件,并在事件发生时执行相应的操作。
以上就是观察者模式中的一些疑惑,希望对你有所帮助。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
