update.RxJavaを使ってみて、便利だということは分かったし、何となくぼやーっと頭の中でどういうものなのかは理解できたけど、人に説明するとなると、どう説明すればいいのかイマイチ分からない...そんなきっかけで、自分がReactiveXを人に説明できるようにするために、メモ書きを残すことにしました。今回はその第1弾として、"Observer"と"Observable"をどう説明すればいいのか考えてみます。ObserverObserverって何?ってことですが、その前にまずはReactiveXのページを見てみます。http://reactivex.io/2015/12/14時点で、ページ内には以下のように書かれています。programmingつまり、「ReactiveXはObserverパターン、Iteratorパターン、ファンクショナルプログラミングの最高のアイディアを組み合わせたモノだよ」って言ってますね。observe)するようなプログラムで使われるデザインパターンの一種。update)インタフェースを定義するクラス。それを踏まえた上で、RxJavaのObserverを見てみると...https://github.com/ReactiveX/RxJava/blob/1.x/src/main/java/rx/Observer.javaこの中で定義されているインターフェースは、onCompleted、onError、onNextの3つです。これらは、Observableをsubscribeするときに実装するメソッドで、それぞれObservableの中のロジックが終了したとき、処理中にエラーイベントが発生したとき、Observableからデータが引き渡されるときにそれぞれObservableから呼び出されます。ここまで来ると、なんとなく上のObserverパターンと繋がってきたような気がします。ReactiveXにおけるObserverは「Observableからのイベント通知を受け取るインターフェース」と言えそうです。Observableじゃあ今度はそのObservableって何だよって話ですが、これはReactiveXにページがあるのでそこを見てみます。Observable.「ReactiveXでは、observerはObservableを購読するよ」って書いてあるので、Observerについてはさっきの認識で良さそうです。emits.「そして、observerはObservableが発行するどんなアイテムやシーケンスのアイテムにも反応します」と書いてあります。Observableはザックリと「イベントを発行する元ネタを持ってるクラス」みたいな感じで言えそうですね。ObserverとObservableは、それぞれ「Observableからイベント通知を受け取るインターフェース」と、「イベントを通知するクラス、とそのイベント通知に必要なロジック」という感じに説明できそうです。upLoginユーザーは見つかりませんでした。