定义
有时被称作发布/订阅模式,其定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
示例
Java的Observable类和Observer接口就是实现了观察者模式。一个Observer对象监视着一个Observable对象的变化,当Observable对象发生变化时,Observer得到通知,就可以进行相应的工作。
感兴趣的可以直接去查看两个类的源码,这个模式比较常用,就不在这里再贴一次了。
Android中的实例
ListView的适配器有个notifyDataSetChange()函数,就是通知ListView的每个Item,数据源发生了变化,各个子Item需要重新刷新一下。
View的点击事件接口,View.onClickListener()也是一个观察者接口。
EvnetBus也是订阅/发布模式的典型应用案例