head first 设计模式 02 观察者模式

观察者模式 observer

隐喻

无处不在的类比: 类比订阅报纸, 实现观察者模式 1. 报社出版报纸    2. 向某家报社订阅报纸, 只要他们有新报纸出版, 就会给你送来, 只要你是他们的客户, 你就一定会一直收到报纸.    3. 当你不再想看报纸的时候, 取消订阅, 他们就不会再送报纸过来.    4. 只要报社还在运营, 就会一直有人(或单位)向他们订阅和取消报纸.

好处

使用观察者的好处是减少了观察者之间的耦合, 每个观察者直到目标就可以了, 无需关系其他的观察者, +    同时, 发布者也不用具体关心观察者, 只要维护一个观察者的序列就可以了( 增加, 减少)   

例子

气象站   问题描述, 希望建立一个公告板, 对气象站的检测的温度, 湿度, 气压对某些特定公司进行通报, (现况板, 通告板)

image

image

增加观察者- 可复用

image

image

image

删除观察者-可复用

image

image

image

- 定义观察者模式

  当你试图勾勒观察者模式时,可以利用报纸订阅服务,以及出版者和订阅者比拟这一切。

image

image

 

image

- 例子

image

image

image

image

image

image

image

image

image

posted @ 2013-05-08 13:56  神之一招  阅读(438)  评论(0编辑  收藏  举报