2011-10-24 9 views
1

私のプロジェクトは、さまざまな場所に異なるバージョンのサーバーが存在するクライアントとサーバーの通信に基づいています。 クライアントは、最も近いサーバーのバージョン番号に基づいて、通信するために特定のスタブファイルを使用します。バージョン固有のスタブの使用

私はスタブを使用しているすべての場所でコードを記述していますが、現在どのバージョンのサーバーが存在しているかを確認する必要があります。これはコード内にスタブのバージョンをチェックする場所がたくさんあるので非常に非効率的です。

クライアントの周囲には、サーバーが1つだけ存在するという制約があります。クライアントが起動すると、通信しようとするサーバーは変更されません。 通信に関しては、Jax RPCを使用しています。

より良いデザインの提案はありますか?

答えて

1

依存性注入はここに役立つでしょうか?各サーバーバージョン固有のロジックをすべて別々のクラスに分け、Google Guiceなどのツールを使用して、すべての特定のサーバーバージョンクラスを独自のモジュール(サーバーバージョンごとに1つのモジュール)に整理します。次に、ロードするモジュールを確認するために、最初にチェックを1回だけ行う必要があります。

関連する問題