Post on 16-Jul-2015
Reactive Extensionsはじめました
2015/04/16 歌舞伎座.tech #7大田 一希
自己紹介
名前– 大田 一希
SNS/Blog– かずきのBlog@hatena
http://okazuki.hatenablog.com/
– Twitter@okazuki
自己アピール欄– Microsoft MVP for Windows Platform Development
– Reactive Extensions 入門 v0.1http://www.slideshare.net/okazuki0130/reactive-extensionsv01
– Reactive Extensions + メソッド名でググってください
– 左耳が聞こえにくい
お約束事項
記載の内容は個人の見解であり、所属する企業を代表するものではありません。
今日のゴール
IObservable<T>のイメージを掴んでもらう
IObservable<T>とは
オブザーバーパターン
監視対象Observable
監視者Observer
監視
値の発行
つまりIObservable<T>は
監視される人– 状態が変化したら値を発行する
– 値が発行されたら監視者は、値を受け取って処理をする
時間の経過とともに値を発行するもの
何かがあったら値を発行する– こんな形の図で表されるもの
Push型のコレクション
時間軸→
つまりIObservable<T>は
Push型のコレクション
Push型のコレクションの例
イベント– クリック、クリック、クリック(時系列でイベントが起きる)
時間軸→
Push型のコレクションの例
非同期処理– 単一要素のPush型コレクション
時間軸→処理の呼び出し
Push型のコレクションの例
普通のコレクションも見方によっては…– 0秒で一気に値が発行される
時間軸→
コレクションといえば
コレクションといえば
LINQが出来る– フィルタリング(Where)
– 射影(Select)
– マージ(Merge)
– 一定数無視する(Skip)
– 一定数だけ処理する(Take)
– etc…
IObservable<T> + LINQ
フィルタ
IObservable<T> + LINQ
射影(変換)
IObservable<T> + LINQ
合成
ありがちな例
マウスイベントの組合せ– マウスダウン
– マウスアップ
– マウスムーブ
まとめ
IObservable<T>とは
オブザーバーパターン
時系列に値を発行するもの
Push型のコレクション
Reactive Extensionsとは
IObservable<T> + LINQ– 加工
– フィルタ
– グルーピング
– 合成
– etc…