在android开发中,我们有很多地方都会使用到观察者模式,那么观察者模式是什么呢?
Observer(Subscriber:RxJava中的另一种体现方式):观察者
ConcreteObserverA:观察者实现类
Observable:被观察者
通过上图我们可以看出,Observable通过subcribe()将Observer订阅到Observable中,当Observable发生变化时,通过notifyObservers()通知每个Observer.这就是观察者模式的原理
什么时候使用观察者模式?
- 架构有两个实体类,其中一个依赖另一个,如果想让它们互不影响或者是独立复用它们时.
- 当一个变化的对象通知那些与它自身变化相关联的未知数量的对象时.
- 当一个变化的对象通知那些无需推断具体是谁的对象时.