IoC - поддержка нескольких реализаций для одного интерфейса

Мне интересно, почему контейнеры .Net IoC не могут легко поддерживать несколько реализаций для одного интерфейса! Может быть, я ошибаюсь, но, насколько я видел, фреймворки, такие как Ninject, частично поддерживают эту функцию с помощью аннотаций (как?). Я не думаю, что другие фреймворки, такие как Windsor или простой инжектор, имеют простой механизм для поддержки этого сценария.

Есть ли причина, по которой это не поддерживается многими фреймворками? AFAIK, одна из наиболее важных причин использования интерфейсов - добиться слабой связи. Если платформы, разработанные для улучшения слабой связи, не поддерживают несколько реализаций для одного интерфейса, я не понимаю, почему!

Постскриптум Конечно, я понимаю, что во время выполнения возникнет проблема с разрешением, и контейнер будет сбит с толку, какую реализацию выбрать, но это то, что необходимо учитывать при разработке, верно?

Ответы на вопрос(6)

Ваш ответ на вопрос