1

まだ、優れた依存性注入手法とやり過ぎのコツをつかんでいます。感謝します。

起動時にファイルから設定を読み取るアプリケーションがあります。後でデータベースになる可能性があります。依存性注入(Guice)の方法で設定をロードする部分を作成しましたが、これは問題ではありません。これらの設定は、アプリケーションの通常の使用では変更されませんが、将来のバージョンでは、ユーザーがGUIからこれらの設定を変更できるようにしたいと思うかもしれません。

実際の質問は次のとおりです。コードのさまざまな部分でこれらの設定にアクセスするにはどうすればよいですか?一部の設定は、オブジェクト階層の非常に深いところでのみ重要ですが、親オブジェクトはそれらについて知る必要はありません。だから私はできた:

  1. シングルトンを使用してから、コンストラクターで適切な設定を検索します
  2. さまざまな設定(または設定クラス全体)をオブジェクトツリーに渡します
  3. Guiceモジュールによってロードされるファクトリを作成してから、Factory.get()

#3が#1よりどれだけ優れているかわかりません...それとも完全に良い方法がありますか?

注:Guiceを使用している間、これは「XXXフレームワークをどのように使用するか」という質問よりもアーキテクチャに関する質問です。したがって、Guiceを知らなくても、恐れずに答えてください。

4

1 に答える 1

0

CDI を使用する場合は、Singleton クラスに「@Singleton」という注釈を付けて、このクラスのオブジェクトをサブクラス プロパティに挿入するだけです。
Guice ではどうなのかわかりません。
インジェクション メカニズムを使用して、Property インスタンスを 1 つだけにすることが最善の解決策だと思います。
私が助けてくれることを願っています。

于 2013-02-21T18:20:15.403 に答える