观察者模式的定义:
观察者模式使用三个类:Subject、Observer 和 Client
Subject对象 带有绑定 Observer对象 到 Client对象 和 从 Client对象 解绑 Observer对象 的方法
观察者模式的栗子:
拍卖的时候,拍卖师观察古董的最高标价,然后通知给其他竞价者竞价
疑惑:古董属于subject应该是确定无误了,拍卖师和竞价者谁是observer谁是client?
(因为想知道 古董的标价 这个state或者说是data或者说是status,在 client 和 subject 和 client 这三者间,到底是如何绑定刷新与流动的?)源文章戳这里
subject 主题类负责监控一个状态的变化和通知所有的观察者两个功能,这里拍卖师就是负责监控古董的价格变化并通知所有的拍卖者,所以也可以推出拍卖者就是observer。 这里我们可以吧古董认为是客户端,当然我个人理解客户端有时候就是创建调用古董、拍卖者和拍卖师类的代码的代码。
http://wiki.jikexueyuan.com/p...