從純Java的觀點(diǎn)看,RxJava Observable類源自于經(jīng)典的Gang Of Four的觀察者模式。
它添加了三個缺少的功能:
Observables和Iterables共用一個相似的API:我們在Iterable可以執(zhí)行的許多操作也都同樣可以在Observables上執(zhí)行。當(dāng)然,由于Observables流的本質(zhì),沒有如Iterable.remove()這樣相應(yīng)的方法。
| Pattern | 一個返回值 | 多個返回值 |
|---|---|---|
| Synchronous | T getData() |
Iterable<T> |
| Asynchronous | Future<T> getData() |
Observable<T> getData() |
從語義的角度來看,RxJava就是.NET Rx。從語法的角度來看,Netflix考慮到了對應(yīng)每個Rx方法,保留了Java代碼規(guī)范和基本的模式。