Reactive Extensionsはじめました

Post on 16-Jul-2015

2.524 views 4 download

Transcript of Reactive Extensionsはじめました

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…