Flowable / Onservable
Flowable实现了Publisher接口(需要实现subscribe(Subscriber<? Super T> s)方法)
Observable实现了ObservableSource接口(需要实现subcribe(Observer<? Super T> observer)方法)
Flowable和Observable都需要实现subscribe()方法,但是入参不同。
几个类的区分:
- ObservableSource 可观察源
- Observer 观察者
报刊(ObservableSource)、报刊订阅者(Observer)、订阅报刊的行为(subscribe)
- Publisher 发布者
- Subscriber 订阅者
报刊发布人(Publisher)、报刊订阅者(Subscriber)、订阅报刊的行为(subscribe)
- subscribe() 订阅
Single\Completable\Maybe
Single、Completable、Maybe是简化的Observable,只是具有少部分功能
- Single:只能发射一条单一数据或者一条异常通知,不能发射完成通知,数据与通知只能发射一个,二选一。
- Completable:只能发射一条完成通知或者一条异常通知,不能发射数据,要么发射完成通知要么发射异常通,二选一。
- Maybe:只能发射一条单一数据,和发射一条完成通知,或者一条异常通知,完成通知和异常通知二选一,只能在发射完成通知或异常通知之前发射数据,否则发射数据无效
五种观察者模式与被观察者关系:
被观察者 | Observable | Flowable | Single | Completable | Maybe |
---|---|---|---|---|---|
观察者 | Observer | Subscriber | SingleObserver | CompletableObserver | MaybeObserver |
Hot Observable 和 Cold Observable