3

StructureMap を使用して、名前で識別される特定のインターフェイスのインスタンスをいくつか構成するとします。

registry.For(interfaceType).Add(firstType).Named(firstName);
registry.For(interfaceType).Add(secondType).Named(secondName);
registry.For(interfaceType).Use(defaultType);

これは私のニーズに適しています。ただし、一部のアプリケーション シナリオでは、インスタンスをオーバーライドして、別のインスタンスと同じ具象型を使用する必要があります。したがって、次のようなものを効果的に使用します。

registry.For(interfaceType).Add(defaultType).Named(firstName);
registry.For(interfaceType).Add(defaultType).Named(secondName);
registry.For(interfaceType).Use(defaultType);

ただし、実際には、StructureMap は同じ型だけでなく、同じインスタンスも使用しているように見えます。そのため、メモリ内にはのインスタンスが1 つだけ存在し、コンテナーは名前付きの要求に対してこれを提供します。defaultType

同じ具象型であっても、別々のインスタンスを構築して使用するように指示する方法はありますか?

4

1 に答える 1