标签:观察 同事 依赖倒置原则 对象 处理 解决 update 发布 自己的
再次申明,本文学习自 程杰 兄的 “大话设计模式” 根据书中的内容和自己的体会而来。
观察者模式也叫 发布、订阅模式,在这个模式里,一个目标物件管理所有依赖它的观察者物件,在本身状态更改时发出通知,通知将被观察者接收到。
书中用例子 炒股 来形容了这一点,在炒股的同事是观察者,依赖于前台妹子。当老板来的时候向炒股的同事发出通知,但是问题是 前台妹子与炒股的同事耦合在一起,这并不符合依赖倒置原则。所以把发布者与观察者都进行抽象,它们都依赖于抽象,这样就解开了之间的关系。
解决了依赖问题,但是新的问题又来了,因为不是所有的观察者方法名都是一样的,都叫 Update可能不是很严谨,而且在使用别人的代码的时候这些就不是你能控制的了。使用委托,把方法做为参数代入发布者的通知方法则可以解决这下问题。
这种模式通常被用在实现事件处理系统,当一个对象的改变需要同时改变其它对象,而且它不知道具体有多少对象待改变时。
标签:观察 同事 依赖倒置原则 对象 处理 解决 update 发布 自己的
原文地址:http://www.cnblogs.com/LiangSW/p/6224128.html