Использование IOC в одном пространстве имен между классами - PullRequest
1 голос
/ 08 января 2012

У меня есть одно пространство имен, которое содержит множество классов (в рамках различных структур папок). Однако многие из этих классов зависят друг от друга.

Даже в одном пространстве имен это место для использования библиотеки IOC (например, Autofaq)?

Спасибо

1 Ответ

1 голос
/ 10 января 2012

В идеале у вас должен быть только один «корень композиции» в приложении (близко к точке входа), где компоненты соединены вместе.Это было бы единственным местом, где вы используете что-то вроде autofac.

Отдельные классы не должны зависеть от конкретной структуры внедрения зависимостей.Они должны соответствовать только общему принципу внедрения зависимостей, т.е. принимать зависимости через аргументы конструктора.Библиотеки также не должны зависеть от структуры DI.

(Не все структуры DI делают это возможным. Некоторые требуют добавления атрибутов в классы. Вы можете считать это исключением из правила.)

...