「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †DI †DI: Dependency Injection(依存性の注入)
DIとは? †依存性 †
注入 †
ユースケース †※「依存性がコアの懸念で、AOPのアスペクトとはコアの懸念ではない。」と言う意見もある。 「IoC」, 「AOP」の実現 †「依存性反転原則」の実現 †依存性反転原則を実現する技術の一つ。
テストでの利用 †モック差し替え。 フレームワーク自身の利用 †Session、認証、ASP.NET Identityのconfig等をProgram.csとか、Setup.csに書かせるアレ。 詳細 †DIの種類 †プログラムに依存性を注入する方法としては、以下のような手法が存在する。 interface注入 †注入用のinterfaceを定義して注入を行う方法 setter 注入 †setter メソッドを定義して注入を行う方法 constructor注入 †constructorを定義して注入を行う方法 コンテナー †
その他 †問題点 †複雑さが増す。 †「IoC」や「AOP」、「依存性反転原則」自体にも言えるが、 共通I/Fが無い場合。 †
実現方法 †.NETにおけるDI †
参考 †
Qiita †
ASP.NET Core における DI † |