0

私のプログラムには、ServerクラスとProtocolsクラスがあります。

サーバーがクライアントからメッセージを受信したら、サーバーがメッセージをプロトコルに送信するようにします。その後、プロトコルはメッセージに対して何をする必要があるかを判断し、適切なメソッドを呼び出します。これで、呼び出す必要のあるメソッドはサーバー内にあります。

したがって、基本的に、サーバーはプロトコルにアクセスする必要があり、プロトコルはサーバーにアクセスする必要があります。

そのような関係を確立するための最良の方法は何ですか? どうすればいいですか?循環参照はしたくないのですが、別の方法はありますか?

4

1 に答える 1

1

リクエスト/レスポンス オブジェクトのサーブレット モデルに従うのはどうでしょうか。

メッセージを受信するたびに、それを要求オブジェクトにパッケージ化し、応答オブジェクトを作成して、プロトコル ハンドラー (一種のサーブレットとして機能) に送信します。

あなたのハンドラーはリクエストを処理し、それが返す必要があるものは何でもレスポンスオブジェクトに入れます。これは最終的にサーバーが実際のレスポンスをクライアントに送信するために使用されます。サーバーが何らかの決定を下す必要がある場合は、プロトコル ハンドラーが要求に対応した後、応答オブジェクトで既に提供されている情報に基づいて決定を下すことができます。

同様の要件に対処するためのフィルターやイベント ハンドラーなど、後でサーブレット モデルの概念に同様の概念を追加することもできます。

于 2012-05-21T05:01:04.870 に答える