アプリケーションフレームワークで、パフォーマンスへの影響を無視できる場合(最大で1秒あたり10〜20イベント)、
モジュール間の通信の優先媒体として使用するのに、より保守的で柔軟なものは何ですか?イベントまたは先物/プロミス/モナド?
イベント(pub / sub、メディエーター)は疎結合を許可するため、より保守しやすいアプリであるとよく言われます...私の経験ではこれが否定されます。20以上のイベントがあると、デバッグが困難になり、リファクタリングも行われます-誰が、いつ、なぜ使用するのかを確認するのは非常に難しいためです。
約束(私はJavascriptでコーディングしています)は、イベントよりも醜くて気難しいものです。ただし、関数呼び出し間の接続を明確に確認できるため、アプリケーションロジックがより簡単になります。私が恐れていること。ただし、Promiseはそれらとのより強い結合をもたらすでしょう...
PS:答えはJSに基づく必要はありません。他の関数型言語の経験は大歓迎です。
2
よく言われていることですが、イベント(pub / sub、メディエーター)は疎結合を許可します。それらを聞くのをやめてください!親を知らずにイベントをサブスクライブすることはできません->密結合。弱いイベント(= Mediator?)を調べます。
—
Louis Kottmann 2012
@ヒヒイベントは自動的に疎結合を生成しないことに一般的に同意しますが、イベントバスを導入すると、「親」を知らなくてもイベントをサブスクライブできます。誰が言ったの?Google IO 2009のレイライアン、13:50にgoogle.com/events/io/2009/sessions/…をご覧ください。
—
スカーフリッジ
@scarfridgeはい、ある種のイベントアグリゲーターを実装すると、コメントで述べたように、結合が失われます。
—
Louis Kottmann 2012
.net rxはイベントアグリゲーターであり、私はモバイルです。詳細は後日投稿します
—
AndreasScheinert