首页 > 代码库 > 设计模式 “续”
设计模式 “续”
观察者模式
再次申明,本文学习自 程杰 兄的 “大话设计模式” 根据书中的内容和自己的体会而来。
观察者模式也叫 发布、订阅模式,在这个模式里,一个目标物件管理所有依赖它的观察者物件,在本身状态更改时发出通知,通知将被观察者接收到。
书中用例子 炒股 来形容了这一点,在炒股的同事是观察者,依赖于前台妹子。当老板来的时候向炒股的同事发出通知,但是问题是 前台妹子与炒股的同事耦合在一起,这并不符合依赖倒置原则。所以把发布者与观察者都进行抽象,它们都依赖于抽象,这样就解开了之间的关系。
解决了依赖问题,但是新的问题又来了,因为不是所有的观察者方法名都是一样的,都叫 Update可能不是很严谨,而且在使用别人的代码的时候这些就不是你能控制的了。使用委托,把方法做为参数代入发布者的通知方法则可以解决这下问题。
这种模式通常被用在实现事件处理系统,当一个对象的改变需要同时改变其它对象,而且它不知道具体有多少对象待改变时。
设计模式 “续”
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。