1

すべてのモジュールで使用できる設定クラスを持つためのパターンベースのアプローチを実装したい。

私は持っている :

  1. アセンブリ内のビジネス オブジェクト (何も参照されていません)
  2. 共同体(インフラ)
  3. サービス モジュール - 実装された IModule (定義段階)

設定クラス:

[Serializable]
public class  Settings
{
    public string DefaultStoreLocation
    { get; set; }
...
}

アプリケーションの起動時にインスタンス化する必要があります。アプリケーションは、そのライフサイクル中にそのシングルトン インスタンスで動作します。例えばここ:ApplicationSettings

Settings ApplicationSettings = new Settings();

この設定ファイルはどこに配置すればよいですか?

そのための戦略を設定する方法は?


疑問 :

  1. 各モジュールに Type を登録するときに ContainerControlledlifetimeManager を使用する必要がありますか? (正確な方法と時期はわかりません)。
  2. 単純なアセンブリに配置する必要がありますか、それともモジュールに配置した方がよいでしょうか。
4

1 に答える 1

3

パターンベースのアプローチを実装したい

GOFに完全なアプリケーションを構築しようとしないでください。パターンは、コードから進化したものです。かっこいいと思ったからといって、コードをパターンのように見せないでください。

Settingsインフラストラクチャに属するもののように聞こえます。そこにそれを置きます。インフラストラクチャアセンブリは、任意のモジュールから参照できます。

ブートストラッパー内に設定を作成して入力します。そこでUnityに登録することもできます。

var settings = new Settings { Foo = 1, Bar = "abc" };
container.RegisterInstance(settings);

モジュールにTypeのパラメーターを受け入れるコンストラクターがある場合Settings、コンテナーはモジュールの作成時に設定をモジュールに挿入します。

于 2012-10-25T12:10:45.313 に答える