观察者模式里 client对象 和 observer对象 的疑惑

观察者模式的定义:

观察者模式使用三个类:Subject、Observer 和 Client
Subject对象 带有绑定 Observer对象Client对象 和 从 Client对象 解绑 Observer对象 的方法

观察者模式的栗子:

拍卖的时候,拍卖师观察古董的最高标价,然后通知给其他竞价者竞价

疑惑:古董属于subject应该是确定无误了,拍卖师和竞价者谁是observer谁是client?

(因为想知道 古董的标价 这个state或者说是data或者说是status,在 client 和 subject 和 client 这三者间,到底是如何绑定刷新与流动的?)源文章戳这里

阅读 2.5k
1 个回答

subject 主题类负责监控一个状态的变化和通知所有的观察者两个功能,这里拍卖师就是负责监控古董的价格变化并通知所有的拍卖者,所以也可以推出拍卖者就是observer。 这里我们可以吧古董认为是客户端,当然我个人理解客户端有时候就是创建调用古董、拍卖者和拍卖师类的代码的代码。
http://wiki.jikexueyuan.com/p...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进