web-dev-qa-db-ja.com

先物/モナドvsイベント

アプリケーションフレームワークでは、パフォーマンスへの影響を無視できる場合(最大で毎秒10〜20イベント)、
モジュール間の通信の優先媒体として使用するために、より保守可能で柔軟なものは何ですか-イベントまたは先物/約束/モナド

イベント(pub/sub、メディエーター)は疎結合を許可するため、より保守しやすいアプリであるとよく言われます...私の経験ではこれが否定されます。20以上のイベントがあると、デバッグが困難になり、リファクタリングも行われます-誰が、いつ、なぜ使用するのかを確認するのは非常に難しいためです。

約束(私はJavascriptでコーディングしています)は、イベントよりも醜くて気難しいものです。ただし、関数呼び出し間の接続を明確に確認できるため、アプリケーションロジックがより簡単になります。私が恐れていること。ただし、Promiseがハードカップリングをさらに強化するということです...

pS:答えはJSに基づく必要はありません。他の関数型言語の経験は大歓迎です。

10
c69

モナドとイベントは非常にうまく連動します。たとえば、.NET Rxを見てください。 JavaScriptの実装さえあるべきだと思います。 http://msdn.Microsoft.com/en-us/data/gg577609.aspx

1