RX拡張機能は、複雑なイベント駆動型プログラミングの問題を「解決」していますか?

StackOverflow https://stackoverflow.com/questions/2075502

質問

私は非同期的にすべてのデータを受信し、新たな財務分析プロジェクトのRxを使用してきました。私は私の個人的な生産性とどのようにはるかに理解しやすい私のイベントベースのコードがある時はかなりびっくりしてきた(どこでも複雑にネストされたIFSとランダムな状態変数とイベントハンドラの前のモデルとは対照的です。)。誰がそれをプレーする機会を得ました、そしてもしそうなら、何が自分の考えのいくつかありますか。

役に立ちましたか?

解決

私は、反応性の拡張機能が飛躍的に複雑な、イベント駆動型プログラミングのいくつかの部分を簡略化すると考えているが、全体としての問題が「解決」されていません。

これは、多くの状況に対処ん以前に可能よりもはるかに、よりクリーンでエレガントな方法です。しかし、それは(必ずしも)常にイベント駆動型プログラミングは依然として困難である場合には、いくつかの非同期パターンの生成側には役立ちません。 Rxは本当にイベントのサブスクリプション側の取り扱いに焦点を当てているが、式の必ずしも生産側ます。

いくつかの異なるサンプル、およびC#より複雑な非同期モデルの一部を処理するの将来のバージョンのために検討されているかのアイデアについては、私はのhref = "http://microsoftpdc.com/Sessions <見てお勧めします/ FT11" のrel = "noreferrer">ルカ・ボロネーゼのPDCの話に。彼は、言語チームがイベントの生成をサポートする言語機能と、直接IAsync<T>を生成するために、このような構文などの「イテレータ」として、非同期開発のオーサリング側で支援することに取り組んでいるいくつかのアイデアを提示します。

他のヒント

のhttp://channel9.msdn .COM /ポスト/ DC2010T0100-基調-RX-硬化あなたの非同期プログラミング・ブルースはし、バートデスメットは良好ファーストクラスの概念は、あなたが考えることによって、抽象化のレベルを上げるとイベント処理ストリーム方法を説明しますあなたは、例えば実装方法。スロットルまたはエラーが発生しやすい定型コードの多くを命令的に毎回DistinctUntilChanged。これらの演算子は、再利用可能なと構成可能な方法でこれらの動作をカプセル化します。だから、私の意見は、更なる進化の余地が(冷たい観測について、例えば懸念を参照)確かにあるということですが、これらのツールは、すべての開発者のツールボックスにする必要があります。通常の制御フロー構築物は、シングルスレッドの実行のためにそれを切るかもしれないが、今日の高度同時、分散型の世界では、私が観察(またはより良い、EventStream /プロパティ)が適切な抽象化だと思います。

私はちょうど私がクリエイターが建築家の宇宙飛行士と思っていた...それで遊んでいません、RX拡張のウェブキャストを見て、と解説が複雑すぎることがわかりました。

古典的なイベントハンドラに問題がどこにある今、私は見ていないため、私は、クライアントとサービスの間で非同期通信を使用していたとき、

...私はいつもエレガントな解決策を見つけました。

しかし、私はこのスレッドの回答に応じて、私はそれを別の試してみるよ、このフレームワークと他の人の経験と興味があります。

はありません。複合イベント駆動型プログラミングの問題は、複雑なイベント駆動型の計算は動的巡回グラフで表現されているという事実に由来します。そのグラフは、線形計画のテキストを使用して便利に表現することはできません。 うち唯一の方法は戻って、視覚的図形とにテキストプログラム表現を変換するために、複数のツールを持っている、と動的および静的プログラムの正しさを確認することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top