0

たとえば、異なるアセンブリ/プロジェクトからアクセスできる静的クラスに autofac/ninject を配置することは良い考えですか?

static class MyContainer { static IoCContainer ContainerOfCurrentRuntimeContext; }

これを使えば、同じ IoC コンテキストを異なるプロジェクトで使用できます。

4

1 に答える 1

3

いいえ、このアプローチでは、シングルトンパターンとサービスロケーターパターン(どちらもアンチパターンとしてカウントされます)という2つの新しい問題が追加されます。その結果、コードは新しい依存関係、つまりDIコントローラーに結合されます

通常、サービスロケーターを使用する際の制限を克服できますが、DIのコンポジションルートを導入するのは非常に簡単なので、これを行う価値はありません。

ちなみに、1つの構成で、さまざまなプロジェクトすべてで使用できます。

于 2012-07-11T16:23:51.483 に答える