タグ

Rxに関するyun2dot0のブックマーク (2)

  • AvalonからMVVM、そしてRxへ(その2): GUIプログラミングの哲学の歴史

    何故か書きかけで放り投げた前編が妙に反響あったので、一応続きも書いておく。 UIのプログラムというのを、準静的に書く為だけに存在するViewModelという物を導入する事にして、現実の要求と準静的なUIのギャップをだいたい埋める事に成功した人類だが、2つほど問題が残った。 1. UIからViewModelへの通知の粒度のミスマッチ 2. GUIアプリでは非UIの機能を非同期で実装しなくてはいけないが、そことViewModelのマッピングでかつての動的なGUIと似た問題が発生してしまう まず1について。 MVVMにおいては、直接イベントはハンドリングせず、基的なUIの変化はViewModelのフィールドの変化にマッピングする(かICommandにマップする)。 例えばテキストボックスに値を入れると、対応するViewModelのstring型のメンバ変数(のsetter)に値が入る。 この対

    AvalonからMVVM、そしてRxへ(その2): GUIプログラミングの哲学の歴史
    yun2dot0
    yun2dot0 2014/08/10
    VとVM間がデータバインドなのは解決したい問題のレイヤが異なるので、そういうもんだと思ってたけど、確かにLINQになってたら素直だって話に首肯。
  • Reactive Extensionsの概要と利用方法

    連載:Reactive Extensions(Rx)入門 第1回 Reactive Extensionsの概要と利用方法 河合 宜文 2011/11/01 C# 3.0より導入され、プログラミング・スタイルに大きな変革をもたらしたLINQはご存じだろうか。詳しくは「特集:Road to LINQ」で紹介されているが、データ加工における処理の手間を大きく解消するものである。LINQの特徴として、各種のデータソース(=配列やXMLデータ、SQLデータベースなど)に対して統一的な記法を提供することが挙げられる。 Reactive Extensions(以降、Rx)は、LINQが適用できるデータソースの概念を「非同期」と「イベント」に広げた、いわば「LINQ to Asynchronous」「LINQ to Events」とでも言うべきものである。それにより、従来では手間のかかった複雑な非同期処理

    yun2dot0
    yun2dot0 2011/11/02
    非同期の処理に適用できるLINQという認識でよいのかな?3.5でも使える模様なので、環境作って試してみる予定。
  • 1