1

プログラムに関するメッセージを別のクラス ライブラリに送信する必要があります。したがって、これを行う方法は、すべての異なるライブラリがサブスクライブし、すべてのメッセージがルーターを通過するメッセージルータークラスを持つことでした。

メッセージを送信するために、メッセージルーターがリッスンしているイベントが送信側で非同期的に発生します。これで、メッセージ ルーターにメッセージが届きました。次に、メッセージ ルーターは受信側で別のイベントを非同期的に発生させます。

a)これはそのようなことをする正しい方法ですか?

MessageReceived(string message)b) クラスにandSendMessage(string message)メソッドのみが含まれるように、実装を非表示にするにはどうすればよいですか。

これで抽象クラスを作成できましたが、イベントの実装を「隠す」には、回避しようとしている追加と削除を実装する必要があります。それが唯一の方法である場合、その追加/削除をスレッドセーフな方法で実装するにはどうすればよいですか?

4

1 に答える 1

0

これは Event Aggregator のように聞こえます。この質問は、イベント アグリゲーターの実装サンプル/ベスト プラクティスに役立つ場合があります。

于 2013-01-08T16:59:17.173 に答える