Size: a a a

Saint P Ruby Community

2019 October 09

AD

Anton Davydov in Saint P Ruby Community
Igor Morozov
в смысле «держать где-то»? 🤔
ну смотри, тебе редис собрать надо, ты инициализируешь его из параметров
источник

AD

Anton Davydov in Saint P Ruby Community
потом куда-то заинжектить надо
источник

AD

Anton Davydov in Saint P Ruby Community
что инжектить будешь?
источник

IM

Igor Morozov in Saint P Ruby Community
так. а с чем тут непонятки?
источник

IM

Igor Morozov in Saint P Ruby Community
допустим, что нет DI эфффекта, который контейнер принимает
источник

IM

Igor Morozov in Saint P Ruby Community
вот типа стейт. можем DI через него эмулировать
источник

AD

Anton Davydov in Saint P Ruby Community
а где стейт то хранить будешь?
источник

AD

Anton Davydov in Saint P Ruby Community
и для каждого объекта будешь по новой все зависимости собирать?
источник

IM

Igor Morozov in Saint P Ruby Community
так, а зачем собирать по новой?

ты ж на верхнем уровне собираешь и провайдишь
источник

IM

Igor Morozov in Saint P Ruby Community
Anton Davydov
а где стейт то хранить будешь?
да хоть в рак миддлваре
источник

AD

Anton Davydov in Saint P Ruby Community
Igor Morozov
так, а зачем собирать по новой?

ты ж на верхнем уровне собираешь и провайдишь
еще раз, у тебя процесс выглядит так:

инициализация зависимости, положить зависимость в зависимость, вызвать зависимость из зависимости
источник

AD

Anton Davydov in Saint P Ruby Community
что инжектить то будешь?
источник

IM

Igor Morozov in Saint P Ruby Community
на самом деле, процесс же куда сложнее и распределеннее как в коде и времени, ни?

ты

а) билдишь объект-зависимость
б) делаешь его доступным в каком-то контексте (не обязательно контейнере, но можно в нем)
в) делаешь что угодно (???)
г) инициализируешь зависимый объект, прокидывая контекст
д) делаешь что-то ( ???)
е) используешь зависимость
источник

AD

Anton Davydov in Saint P Ruby Community
Anton Davydov
еще раз, у тебя процесс выглядит так:

инициализация зависимости, положить зависимость в зависимость, вызвать зависимость из зависимости
инициализация зависимости -> это про собрать зависимость (со всеми настройками) и положить ее в память, от куда будешь ее инжектить уже
источник

AD

Anton Davydov in Saint P Ruby Community
Igor Morozov
на самом деле, процесс же куда сложнее и распределеннее как в коде и времени, ни?

ты

а) билдишь объект-зависимость
б) делаешь его доступным в каком-то контексте (не обязательно контейнере, но можно в нем)
в) делаешь что угодно (???)
г) инициализируешь зависимый объект, прокидывая контекст
д) делаешь что-то ( ???)
е) используешь зависимость
на втором шаге тебе либо контейнер нужен, либо свалка объектов
источник

AD

Anton Davydov in Saint P Ruby Community
что по сути будет одно и то же
источник

IM

Igor Morozov in Saint P Ruby Community
да хоть биндинг, да
источник

AD

Anton Davydov in Saint P Ruby Community
Igor Morozov
выйдет, на самом деле, но тебе нужно правильно организовать процесс прокидывания зависимостей
и вот тут уже правильный процесс прокидывания зависимостей не поможет
источник

AD

Anton Davydov in Saint P Ruby Community
избавиться от контейнера
источник

IM

Igor Morozov in Saint P Ruby Community
тут вопрос в абстракциях, о которых мы мыслим

мы ж не думаем, что у нас binding — контейнер
или что instance_attributes хранятся в каком-то другом контейнере
источник