观察者模式

来源:互联网 发布:怎么做网络覆盖 编辑:程序博客网 时间:2024/06/12 01:26

观察者模式——Observer Patten

  1. 现实场景
    霍建华,胡歌和鹿晗都订阅了网易新闻,突然有一天,网易新闻更名为优先新闻,此时需要通知胡霍鹿。
  2. UML图
    image
  3. 代码实现
    github——观察者模式ObserverPatten
  4. 核心原理
    观察者模式所作的工作就是解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体。从而使得各自的变化不会影响另一边的变化,这样就大大地提高了程序的可维护性和可扩展性,也很好的符合了开放-封闭原则。
  5. 使用条件
    • 当一个抽象模型有两个方面,其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。
    • 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。
    • 当一个对象必须通知其它对象,而它又不能假定其它对象是谁。换言之,你不希望这些对象是紧密耦合的。
0 0