Сообщение Re: как ресолвить не передавая ссылки на контейнер ( DI ) от 21.05.2018 11:12
Изменено 21.05.2018 11:14 GarryIV
Re: как ресолвить не передавая ссылки на контейнер ( DI )
Здравствуйте, okon, Вы писали:
O>Пишут что передавать ссылку на IContainer плохо,
O>а как быть если нужно в процессе вычислений создать экземпляр класса и проинициализировать его поля, например с передачей контейнера, например
O>Как такие сценарии правильно строятся без передачи и хранения ссылок на контейнеры ?
В Спринге это делается как то так
Тут по сути фабрика которая создает объект типа FactoryType с зависимостями dep1, dep2.
O>Пишут что передавать ссылку на IContainer плохо,
O>а как быть если нужно в процессе вычислений создать экземпляр класса и проинициализировать его поля, например с передачей контейнера, например
O>Как такие сценарии правильно строятся без передачи и хранения ссылок на контейнеры ?
В Спринге это делается как то так
@Bean
public FactoryType factoryType(Dependency1 dep1, Dependency2 dep2) {
return new FactoryType(dep1, dep2);
}Тут по сути фабрика которая создает объект типа FactoryType с зависимостями dep1, dep2.
Re: как ресолвить не передавая ссылки на контейнер ( DI )
Здравствуйте, okon, Вы писали:
O>Пишут что передавать ссылку на IContainer плохо,
O>а как быть если нужно в процессе вычислений создать экземпляр класса и проинициализировать его поля, например с передачей контейнера, например
O>Как такие сценарии правильно строятся без передачи и хранения ссылок на контейнеры ?
В Спринге это делается как то так
Тут по сути фабрика которая создает объект типа FactoryType с зависимостями dep1, dep2.
ЗЫЖ Этот метод явно никто не вызывает, он вызывается контейнером и передает туда необходимые зависимости.
O>Пишут что передавать ссылку на IContainer плохо,
O>а как быть если нужно в процессе вычислений создать экземпляр класса и проинициализировать его поля, например с передачей контейнера, например
O>Как такие сценарии правильно строятся без передачи и хранения ссылок на контейнеры ?
В Спринге это делается как то так
@Bean
public FactoryType factoryType(Dependency1 dep1, Dependency2 dep2) {
return new FactoryType(dep1, dep2);
}Тут по сути фабрика которая создает объект типа FactoryType с зависимостями dep1, dep2.
ЗЫЖ Этот метод явно никто не вызывает, он вызывается контейнером и передает туда необходимые зависимости.