1

Project RedDwarfフレームワーク(古いプロジェクトDarkStar)でボードゲームを作成しています。

私の質問はこれです:

サーバーとクライアントの間でコマンドを送受信する必要があり、コマンド メッセージング サービスに組み込むための堅牢なプログラミング アーキテクチャが必要です。

Command インターフェースを持つことを考えました。各サブコマンドはその実装になります (コマンド文字列を保持します)。

たとえば、ユーザーがオンラインかどうかを確認する必要があるとします。というインターフェイスがありCommand、次に Command を拡張する Check というインターフェイスがあり、最後に OnlineCheck という実装があります。OnlineCheck は getCommand というメソッドを持つことができ、コマンド文字列を返します。

今まではわかりました..しかし、私が本当にやりたいのは、同じ実装クラスに可能な返信を含めることです。これにより、事前に定義された返信の1つに基づいて、クライアントが私に返信したものを確認できます。

これを行うにはどうすればよいですか?

4

1 に答える 1

0

まず、コマンド パターンの使用を評価します。

OnlineCheck は getCommand というメソッドを持つことができ、コマンド文字列を返します。

コマンド インターフェイスには、execute()またはrun()OnlineCheck の機能を実装するようなエントリ ポイントが必要です。getCommand()したがって、再度解釈する必要があるコマンド文字列を返す必要はありません。

このパスをたどると、コマンド インスタンス (この場合は OnlineCheck のインスタンス) が応答を保持し、クライアントに送り返すことができます。クライアントは、この応答を生成したコード ブロックに返します。これは、このコマンドに対して期待される応答の種類を把握し、それらを適切に解釈できるためです。

私の2セント!

于 2012-09-10T03:30:48.140 に答える