回答編集履歴
1
コンストラクタインジェクションの語を使った形に説明を修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
そして、型を解決するときはIServiceではなくLogicAを解決
|
27
|
+
そして、型を解決するときはIServiceを解決して手動で`new LogicA(service)`するのではなく、LogicAをDIコンテナで直接解決させます。DIコンテナが内部的に登録された型のマップを使ってLogicAへのコンストラクタインジェクションを実行し、LogicAがコンストラクタ引数で必要とする型が解決された状態でLogicAのインスタンスが生成されます。
|
28
28
|
|
29
29
|
|
30
30
|
|
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
ここで例えばServiceがさらに別の
|
39
|
+
さらに、ここで例えばServiceがさらに別のクラスにコンストラクタ引数から依存していた場合でもDIコンテナに型を登録してあれば、あくまで`container.Resolve<LogicA>()`とするだけで生成処理が完了します。
|
40
40
|
|
41
41
|
|
42
42
|
|