私は IoC と依存性注入の初心者です。私はそれについて読んでいますが、私はそれを理解できません。どのように機能するかを理解する一方で、これらのパターンのいくつかを自分のプロジェクトに実装しようとしています (そして試行錯誤によって学習するかもしれません)。
FluentSecurityパッケージ (NuGet から)を使用してセキュリティ制御を実装しています。この wikiで説明されているように、ポリシー違反ハンドラーを実装する必要があります。問題は、この例が StructureMap IoC コンテナー用に書かれており、Ninject 2.2を使用している (または使用しようとしている) ことです (初心者にとってはより単純に思えました)。
彼らのコードでは、(a):
configuration.ResolveServicesUsing(type => ObjectFactory.GetAllInstances(type).Cast<object>());
そして (b):
public class WebRegistry : Registry
{
public WebRegistry()
{
Scan(scan =>
{
scan.TheCallingAssembly();
scan.AddAllTypesOf<IPolicyViolationHandler>();
});
}
}
私の懸念:
- コード (a) が に含まれることはわかっています
Global.asax
。しかし、Ninject の代替手段はObjectFactory.GetAllInstances()
何ですか? WebRegistry
このコードを挿入する場所も、 、Scan
、および内部関数TheCallingAssembly
とに相当するものもわかりませんAddAllTypesOf
。
これは少し広範な質問であることは承知していますが、助けていただければ幸いです。前もって感謝します。