1

私のチームが現在取り組んでいるプロジェクトには、共通のインターフェイスを実装する特定のイベント用のハンドラーが数十あり、それらは、リッスンするイベントが発生したときに呼び出されます。

そして、ここに問題があります。プロパティファイルを使用して現在使用しているハンドラーを構成する必要があるのか​​、リフレクションを使用して共通インターフェイスを実装するすべてのクラスを一覧表示する必要があるのでしょうか。

プロパティファイルを使用するための長所:

  • より柔軟で、特定のハンドラーを無効にするのが簡単です。
  • さまざまな環境でさまざまな構成を持つことができます。

反射を使用するための長所:

  • 展開が簡単で、クラスの追加/削除のためにプロパティファイルを維持する必要はありません。
  • プロパティファイルのプレーンテキストを処理し、クラスローダーを使用してロードする必要がないため、エラーが発生しにくくなります。

私は現在、2つの間で躊躇しています。一般的に認識されている「グッドプラクティス」はありますか?

4

2 に答える 2

1

プロパティに対する私の投票。

私が考えることができる主な理由は、(何らかの理由で) 使用したくない、またはオンとオフを切り替えたくないハンドラーがクラスパスにある可能性があることです。

于 2012-09-20T05:25:14.597 に答える
1

2 つのオプションのうち、私はプロパティ ファイルを使用することに投票します。さらにいくつかのファイルを維持する必要があるかもしれませんが、暗黙的な構成ではなく、明示的な構成を行う方が常に優れています。また、コード ベースに慣れていない人が何が起こっているのかを理解しやすくなります。

また、依存性注入 (Spring または Guice) を使用することをお勧めします。Spring DI は要件を満たしています。どのハンドラーを使用するかを明示的に構成でき、本番用、UAT 用などにさまざまなファイルを簡単に作成できます。同様のパターンがあり、Spring は非常にうまく機能しています。

于 2012-09-20T06:00:09.700 に答える