2012-04-17 2 views
0

* Я не эксперт по весне или IoC. Я хотел бы, чтобы мое клиентское приложение «выбирало» различные реализации интерфейса на основе некоторых условий.Использование Spring.Net для динамически создаваемых объектов

Я считаю, что Spring (или другие контейнеры IoC) позволяют это делать, однако все примеры показывают, что конкретный класс настроен в каком-то файле конфигурации, а это не то, что мне нужно.

Я хотел бы (каким-то образом) позволить контейнеру решить, какую реализацию выбрать (на основе некоторых условий и заданного набора классов для выбора).

Возможно ли это? (я уверен, что это так).

ответ

2

Вы можете использовать factory class (он может быть статическим или экземпляром фабрики).

+0

Какая польза от использования Spring тогда, если мне нужно предоставить свою собственную фабрику (я мог бы написать одно и то же без пружины) –

+2

Если вы используете весну как фабрику для получения объектов, вы не принимаете полную преимущество возможностей пружинного контейнера, такого как перехват. Возможно, вам будет интересно прочитать эти вопросы [1] (http://stackoverflow.com/questions/557742/dependency-injection-vs-factory-pattern) [2] (http://stackoverflow.com/questions/871405/ почему-do-i-need-an-ioc-container-as-contrast-to-straight-di-code) [3] (http://stackoverflow.com/questions/2407540/what-are-the-downsides- к-зависимость с помощью инъекции). – Marijn

Смежные вопросы