观察者模式------《Head First 设计模式》

Posted 寻找梦想的大熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了观察者模式------《Head First 设计模式》相关的知识,希望对你有一定的参考价值。

第二章---观察者模式

xzmxddx

  学习方式:书籍《Head First 设计模式》,这本书通俗易懂,所有知识点全部取自本书。

面向对象设计原则

  • 封装变化
  • 多用组合,少用继承
  • 针对接口编程,不针对实现编程
  • 为交互对象之间的松耦合设计而努力
  • 类应该对扩展开放,对修改关闭
  • 依赖抽象,不要依赖具体类
  • 只和朋友交谈
  • 别找我,我会找你
  • 类应该只有一个改变的理由

 

一、定义

  观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新

 

  我的理解:举个例子,微信公众号(主题)推送给每个已经关注的用户(观察者),微信公众号推送文章,所有已经关注的用户都会自动收到通知。

 

二、UML类图

  在这里,我使用天气站(主题)推送天气信息到显示牌(观察者)的例子,一个天气站对应多个显示牌,并且每当天气情况更新,显示牌都会收到通知。

  策略模式不够精简,这里我将部分不需要的类直接合并:

 

  

 

以上是关于观察者模式------《Head First 设计模式》的主要内容,如果未能解决你的问题,请参考以下文章

《Head First 设计模式》:观察者模式

First Head 设计模式之观察者模式(Observer Pattern)

Head First 设计模式——观察者与装饰者模式

Head First 设计模式——观察者与装饰者模式

Head First设计模式之观察者模式(Observer Pattern)

观察者模式——Head First