今天才开通csdn的博客,最近因为重新学习了rxjava,就想把重新学习的一些体会记录下来。
观察者模式
学习rxjava就不得不了解观察者模式,那么什么是观察者模式呢?
观察者(Observer)模式:对象的行为模式,及发布-订阅模式。
观察者模式定义了一种一对多的依赖关系,也就是说,让多个观察者对象来同时监听一个被观察者对象,当被观察者对象的状态发生变化时,就会通知所有的观察者对象,以至于观察者对象及时改变自己的状态。
观察者模式结构:
1.Observable
抽象被观察者角色,把所有的观察者角色保存起来。每一个被观察者角色都可以有多个观察者,并提供接口来添加或删除观察者。
2.Concrete Observable
将状态的改变传给具体的观察者。在相应被观察者发生变化时,将通知所有注册过的观察者对象。
3.Observer
为所有的观察者定义更新状态接口,以便在被观察者状态发生改变时更新自己的状态。
4.Concrete Observer
实现抽象观察者对象所要求的更新接口,以便使自身的状态和被观察者的状态保持一致。