IoC - Unterstützung mehrerer Implementierungen für eine einzelne Schnittstelle

Ich frage mich, warum .NET IoC-Container nicht einfach mehrere Implementierungen für eine einzelne Schnittstelle unterstützen! Möglicherweise irre ich mich, aber soweit ich gesehen habe, unterstützen Frameworks wie Ninject diese Funktion teilweise mithilfe von Anmerkungen (Wie?). Ich denke nicht, dass andere Frameworks wie Windsor oder Simple Injector einen einfachen Mechanismus haben, um dieses Szenario zu unterstützen.

Gibt es einen Grund, warum dies von vielen Frameworks nicht unterstützt wird? AFAIK, einer der wichtigsten Gründe für die Verwendung von Schnittstellen, ist das Erreichen einer losen Kopplung. Wenn die Frameworks zur Verbesserung der losen Kopplung nicht fließend mehrere Implementierungen für eine einzelne Schnittstelle unterstützen, verstehe ich nicht, warum!

P.S. Natürlich verstehe ich, dass es während der Laufzeit ein Problem mit der Lösung geben wird und der Container verwirrt wäre, für welche Implementierung er sich entscheiden soll, aber das ist etwas, das im Design berücksichtigt werden muss, oder?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage