IoC - Soporte de múltiples implementaciones para una sola interfaz

Me pregunto por qué los contenedores .Net IoC no admiten fácilmente implementaciones múltiples para una única interfaz. Puede que me equivoque, pero por lo que he visto, los marcos como Ninject soportan parcialmente esta función usando anotaciones (¿cómo?). No creo que otros marcos como Windsor o inyector simple tengan un mecanismo fácil para soportar este escenario.

¿Hay alguna razón por la que esto no sea compatible con muchos marcos? AFAIK, una de las razones más importantes para usar interfaces es lograr un acoplamiento suelto. Si los marcos diseñados para mejorar el acoplamiento suelto, no admiten con fluidez múltiples implementaciones para una única interfaz, ¡no entiendo por qué!

PD Por supuesto, entiendo que habrá un problema de resolución durante el tiempo de ejecución, y el contenedor se confundiría qué implementación elegir, pero eso es algo que debe considerarse en el diseño, ¿no?

Respuestas a la pregunta(6)

Su respuesta a la pregunta