したがって、ペイントで描画できると仮定しましょう。
A
オブジェクトB
に依存し、インスタンス化さC
れるがC
、 のインスタンスにも依存するクラスがありB
、 のこのインスタンスをB
に渡すものと同じにしたいとしますA
。どうすればこれを達成できますか?
さて、あなたもおそらくそれをまったく理解していませんでした。それでは、先に進んでコードに変換します。
public class A
{
private readonly B b;
private readonly C c;
public A(B b, C c)
{
this.b = b;
this.c = c;
}
}
public class B
{
}
public class C
{
private readonly B b;
public C(B b)
{
this.b = b;
}
}
DI がなければ、次のように解決します。
var b = new B();
var c = new C(b);
var a = new A(b,c);
DI を使用してこのようなことをきれいに達成するにはどうすればよいでしょうか? 私が望むのは非常に簡単です。 と のB
両方C
をインスタンス化するときに、 の同じインスタンスを使用しますA
。
シングルトンや一時的なものではなく、Web リクエストごとのライフスタイルでこれが必要であることに言及するのを忘れていました。