Size: a a a

Programming Offtop

2020 April 06

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну так места, где он реально нужен, сводятся к узлам дерева зависимостей (к модулям, компонентам, скоупам, везде по-разному зовётся)
согласен
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Вопрос зачем инжектить в конструкторы?
Под "инжектом в конструкторы" понимается обычный класс, принимающий свои зависимости в конструктор, просто на нём в даггере вешается аннотация @Inject, чтобы тот знал, какой конструктор использовать при создании объекта
источник

AM

Andrew Mikhaylov in Programming Offtop
Ну либо конкретный конструктор вызывается ручками в модуле коина
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Под "инжектом в конструкторы" понимается обычный класс, принимающий свои зависимости в конструктор, просто на нём в даггере вешается аннотация @Inject, чтобы тот знал, какой конструктор использовать при создании объекта
Я понимаю. А нафига вешать это на даггер? Для тестов?
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Я понимаю. А нафига вешать это на даггер? Для тестов?
Чтоб руками граф не строить
источник

(

( in Programming Offtop
Andrew Mikhaylov
Чтоб руками граф не строить
но давайте будем честны
источник

(

( in Programming Offtop
граф мы всё равно строим сами, а получается хуже
источник

DE

Denis Egorov in Programming Offtop
Andrew Mikhaylov
Чтоб руками граф не строить
но описываешь его ты же
источник

DE

Denis Egorov in Programming Offtop
это похоже на ситуацию, когда ты полностью прочитал инструкцию к машине, но газ просишь другого человека нажать
источник

AM

Andrew Mikhaylov in Programming Offtop
В компоненте даггера описываются "главные" объекты этого куска приложения, дальше даггер идёт по цепочке и генерирует код, который умеет вызывать конструкторы остальных классов, которые можно создать тривиально и для которых зависимости даггер умеет создавать
источник

(

( in Programming Offtop
я сейчас как собака-шпион пролезает через лазеры пытаюсь разобраться, какие у каких компонентов и модулей скоупы стоят, чтобы не проебать лик
источник

AM

Andrew Mikhaylov in Programming Offtop
То, что создаётся нетривиально, создаётся руками в модулях, которые цепляются к компонентам
источник

AN

Alexander Nozik in Programming Offtop
Я к тому, что у меня в голове такая схема: есть у нас узловые сущности, задача которых поймать откуда-то сервис, и заделегировать работу "подчиненных", исходя из того, что поймал. Нафига подчиненным знать, откуда он это ловит.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Я к тому, что у меня в голове такая схема: есть у нас узловые сущности, задача которых поймать откуда-то сервис, и заделегировать работу "подчиненных", исходя из того, что поймал. Нафига подчиненным знать, откуда он это ловит.
Так они и не знают
источник

AM

Andrew Mikhaylov in Programming Offtop
Там просто висит единственная аннотация на конструкторе
источник

AM

Andrew Mikhaylov in Programming Offtop
Дальше даггер сам собирает граф
источник

AM

Andrew Mikhaylov in Programming Offtop
(
граф мы всё равно строим сами, а получается хуже
Не целиком, но да, как только сложность графа растёт, вся простота даггера превращается в тыкву
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Там просто висит единственная аннотация на конструкторе
Вам кот орхиды показать? Как понять, где эта фигня используется, если конструктор инжектируется и не вызывается явно.
источник

AN

Alexander Nozik in Programming Offtop
Переформулирую. Нафига делать инжект, если метод и так вызывается в одном конкретном месте, где зависимости известны?
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Вам кот орхиды показать? Как понять, где эта фигня используется, если конструктор инжектируется и не вызывается явно.
В даггере / коине он вызывается явно, но в первом это происходит в нагенеренном коде, потому всё равно хер дупли склеишь.
источник