0

ユーザーが構成ファイルに入力したすべての構成設定を含む 1 つのオブジェクトを作成する方法を知りたいです。構成ファイルは、プログラムに与えられる唯一の引数です。この構成ファイルを一度解析して、キーと値のペアを確認したいと思います。このオブジェクトは、他のすべてのオブジェクトで認識されている必要があります。

これで、静的メソッドのみを持つ構成オブジェクトができましたが、最初に常に parseConfigurationFile メソッドを呼び出す必要があります。このクラスのある種のコンストラクターでこれが必要です。静的コンストラクターは引数を持つことができません (オブジェクトを作成しないため、これはロジックです)。

別のオブジェクトでプログラムに与えられた最初の引数を取得する可能性はありますか? または、構成オブジェクトの設計が間違っているのでしょうか? それとも、これが私の問題に対する最善の解決策ですか?

おそらく別の解決策は、このオブジェクトの最初のメソッド呼び出しを覚えておくことです。最初に呼び出されたときに、メインクラスで構成ファイルを要求し、引数を解析します...

問題の最適な解決策はどれですか?

4

2 に答える 2

0

通常、これは.propertiesJava のファイルによって行われます: How to read Properties File in Java

于 2013-03-15T10:19:14.620 に答える
0

のインスタンスが必要なようですConfigurationManager。プログラムのConfigurationManager初期化の一部としてインスタンス化されます(おそらくmain()メソッド内で)

そのインスタンスは、それを必要とする各コンポーネントに渡されます。各コンポーネントがメソッドを呼び出すとmanager.getConfiguration()、そのメソッド自体が構成がロードされているかどうかを確認し、必要に応じてロードします (つまり、最初の初期化ですか?)

私は何も静的にしません。私はむしろクラスのインスタンスが欲しいです。これにより、ライフサイクルなどの管理がはるかに簡単になります。最初の呼び出し時に構成を読み取るという要件は、マネージャー内で結び付けられ (カプセル化され)、クライアント (マネージャーを使用するクライアント) はこれについて心配する必要がないことに注意してください。

上記は、その構成をどのように読み取っているのかについて心配していないことに注意してください(プロパティファイルを使用する、Apache Commons構成を使用するなど)。

于 2013-03-15T10:19:29.347 に答える