イベント処理システムの設計について少しアドバイスが必要です。大まかに言えば、私のJavaサーバーはさまざまな要求を受け取り、それらを実行して(同期的および非同期的に)応答します。
フローは次のとおりです。
a)低レベルのクラスがクライアントからイベントを受信します。このクラスには、MessageRouterクラスへの参照があります。イベントを取得すると、MessageRouterでroute(Event event)を呼び出すだけです。
b)MessageRouterクラスはイベントをキューに入れ、別のスレッドでメッセージのタイプを判別し、適切なハンドラーを見つけてメッセージを渡します。
c)ハンドラーがメッセージを実行します。
d)ResponseRouterは応答を収集し、それを書き戻します。
私の質問は次のとおりです。
1)リクエストを実行するために他の4〜5種類の「マネージャー」クラスへの参照が必要なため、c)をどのように設計する必要がありますか。また、c)応答を戻すためにd)への参照が必要ですか?
2)同様に、d)は、同期および非同期で実行できるため、応答を書き戻すために他のクラスへの参照が必要です。ResponseRouterには、必要なすべてのクラスへの参照が必要ですか?
主に、イベントの実行とその応答を効率的かつエレガントな方法で配置するためのデザインパターン(またはそれらの組み合わせ)を探しています。