特定の依存性注入ライブラリ(Spring、Castle、StructureMap、Ninject ...など)を抽象化するための一連のクラスを知っている人はいますか?
私たちは皆、DIコンテナを使用してコードの特定の実装を抽象化しますが、同じインターフェイス/戦略パターンを使用して、Castle.Windsor、Unityなどの特定の実装を使用して汎用インターフェイスベースのDIコンテナを作成することもできます。
一般に、コンテナからの「GettingandObject」の基本的なパターンはかなり普遍的です。例えば:
IService service = IocContainer.Get<IService>();
IocContainerは、Castle.Windsor、Unity...などの特定のライブラリ実装の汎用ラッパークラスです。
もちろん、「プラグイン」できる特定の実装を作成することに加えて、もちろん、各実装には独自の構成ファイル形式があります。
DIコンテナ用に十分にテストされた既存のラッパークラスに関する提案はありますか?