4

Мне интересно, где лучше всего создать экземпляр замка Виндзорский контейнер в библиотеке классов.Какова наилучшая практика при создании экземпляра контейнера Castle Windsor в библиотеке классов?

Должен ли я просто делать это в конструкторе класса, который я использую, или есть одна точка входа для сборок, о которых я не знаю?

Спасибо.

+0

Спасибо, ребята, отличный отзыв, что вы упомянули, имеет большой смысл, я даже не могу вспомнить, почему я разместил этот вопрос; – shenku

ответ

7

Конфигурация графика введенного объекта полностью зависит от потребностей приложения, которое его фактически использует. Точка использования контейнера - это возможность конфигурировать зависимости во время выполнения - библиотека ничего не знает о том, как она будет использоваться.

Библиотечные классы должны быть написаны таким образом, чтобы вы могли использовать любой контейнер, который вам нравится, или инъекцию бедных людей, поскольку потребитель считает нужным. Слияние библиотеки с контейнером - это запах.

5

Я могу сказать, что вы не должны использовать контейнер непосредственно в своей библиотеке классов. Ваша библиотека классов должна иметь зависимости между классами в библиотеке. Приложение (Front-End/root из графика приложений) будет использовать контейнер для разрешения всех зависимостей, в том числе и в вашей библиотеке классов. ИМХО с использованием IoC в библиотеке классов пахнет ServiceLocator.