0

私は現在、シングルトンとして実装された Cache オブジェクト (辞書のラッパー) を持っています。

シングルトン パターンに関するこの記事を読んだところです: http://ayende.com/blog/159426/design-patterns-in-the-test-of-time-singleton?key=e4eedc32-f43f-44e9-966d- 90a6ff792ddf

そして、Singleton の代わりに IoC コンテナーを活用する必要があるのではないかと考えるようになりました。シングルトンにアクセスするコードの一部をテストするのは非常に難しいと感じています。

だから私が持っている質問は次のとおりです。

キャッスル (またはそのことについては任意の IoC コンテナー) でのシングルトンのライフスタイルは、手巻きの GoF シングルトンを持つことと同じですか?

これは、私が少し奇妙な状況を作り出します

  1. すべての依存関係をコンテナーに登録し、
  2. 次に、キャッシュを生成するある種のブートストラップを解決し、
  3. 次に、キャッシュを別の登録としてコンテナに追加します

それはコンテナを初期化する正当な方法ですか? すべての登録が同時に行われないのは少し奇妙に思えます

4

1 に答える 1

0

シングルトンとは、オブジェクトのインスタンスを 1 つだけ持つことです。これは、この場合、依存性注入フレームワークによって実現されます。シングルトンは初期化の時間ではありません。シングルトンを作成し、後で初期化/変更できます。また、シングルトンへの参照をいつでも他のオブジェクトに渡すことができます。

于 2012-11-01T13:58:27.997 に答える