Unity или любой другой контейнер IoC в этом случае никогда не должны играть роль в вашем приложении за пределами начальной загрузки приложения. И это решительно не должно идти в бизнес и уровни данных.
Таким образом, вы загрузите свое приложение в Main
, используя Unity, и после этого Unity выполняется. Не позволяйте Unity прикоснуться к любой другой части вашего приложения.
Вот выработка на эту тему: How I use Inversion of Control containers и последующие Pulling from the container.
Если все расположено в переднем слое, тогда не весь проект зависит от переднего слоя, и если я изменю передний слой от приложения Windows к веб-приложению, тогда я должен снова выполнить работу по объединению!
Нет, если вы правильно настроили ситуацию. Вам не нужно, чтобы Unity разрешала компоненты для вашего приложения. Unity и другие контейнеры IoC - просто очень полезные инструменты для решения этой проблемы. Вы должны сначала написать свое приложение, чтобы он не нуждался в Unity. Затем вы можете легко подключить Unity или какой-либо другой контейнер IoC, чтобы разрешить компоненты, которые необходимо выполнить вашему приложению.
Три R
s инъекции зависимостей являются
- Регистрация
- Resolve
- релиз
Регистр При настройке контейнера. Это происходит, когда ваше приложение начинается с Main
. Решите, когда вы разрешаете корневые компоненты для своего приложения. Это то, что объединяет основные компоненты вашего приложения. Освобождение происходит, когда приложение выходит и вы удаляете контейнер, чтобы компоненты были правильно выпущены. Обратите внимание, что контейнер никогда, никогда, НИКОГДА не входит в ваше приложение помимо этого.
Это как минимум три разных вопроса. –