jokes000

设计模式--观察者模式

代码:
      基本:
Code

      观察者模式:又称发布-订阅(Publish/Subscribe)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。

      观察者模式的动机是什么:
            将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。
      
      什么时候使用观察者模式:
            当一个对象的改变需要同时改变其他对象,而且它不知道具体有多少对象有待改变时,应考虑使用观察者模式。

      一个抽象模型有两个方面,其中一方面依赖于另一方面,这时用观察者模式可以将这两者封装在独立的对象中使它们相互独立地改变和服用。
      总体来讲,观察者模式所做的工作其实就是在解除耦合。让耦合的双方都依赖于抽象而不是依赖于具体。从而使得各自的变化都不会影响另一边的变化。

      结构图:
      

posted on 2011-10-14 19:13 Voices. 阅读(245) 评论(0)  编辑 收藏 引用 所属分类: Design Pattern


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理