Size: a a a

2020 July 21

IG

Ilya Gulya in Dagger 2
Ivansuper
Это где-то в доке описано?
Не знаю)
источник

IG

Ilya Gulya in Dagger 2
По-моему это достаточно интуитивно
источник

IG

Ilya Gulya in Dagger 2
Но могу ошибаться)
источник

I

Ivansuper in Dagger 2
Ivansuper
Это кажется до глупого очевидным потенциальным решением, но на него от даггера никакой реакции нет
Ну для меня интуитивно было это после скоупов в модулях
источник

I

Ivansuper in Dagger 2
Ладно, вопрос +\- закрыт. Спасибо.
Если кто прочитает и будет что дополнить — хайлайтите не стесняйтесь
источник
2020 July 22

I

Ivansuper in Dagger 2
Еще назрел вопрос — почему подкомпоненты устанавливаются через параметр модуля (Module.subcomponents), а не Component.subcomponents? Модули воспринимаются более мелкими ветками дерева зависимостей, которые растут от (под)компонентов, а подкомпоненты всегда прикрепляются к другим родительским компонентам. Но тут голова ломается, ибо благодаря такому параметру аннотации подкомпоненты "прикрепляются" к модулям, а не к компонентам.
источник

I

Ivansuper in Dagger 2
Т.е. Module.include включает модули в модули ок. Component.dependencies присоединяет компонент к компоненту. Module.subcomponents — э?
источник

I

Ivansuper in Dagger 2
Т.е. может я просто это неправильно вижу и кто-то может пояснить за философию такого API
источник

AG

Artem Gilmudinov in Dagger 2
Ivansuper
Еще назрел вопрос — почему подкомпоненты устанавливаются через параметр модуля (Module.subcomponents), а не Component.subcomponents? Модули воспринимаются более мелкими ветками дерева зависимостей, которые растут от (под)компонентов, а подкомпоненты всегда прикрепляются к другим родительским компонентам. Но тут голова ломается, ибо благодаря такому параметру аннотации подкомпоненты "прикрепляются" к модулям, а не к компонентам.
Тут тяжело ответить почему так сделано. Наверное упрощения ради? В обратном случае пришлось бы добавлять атрибут subcomponents в две аннотации - Component, Subcomponent. А тут обошлись одним местом.
источник

I

Ivansuper in Dagger 2
Artem Gilmudinov
Тут тяжело ответить почему так сделано. Наверное упрощения ради? В обратном случае пришлось бы добавлять атрибут subcomponents в две аннотации - Component, Subcomponent. А тут обошлись одним местом.
источник

I

Ivansuper in Dagger 2
Просто появились даже такие проблемы с нуждой пустых модулей
источник

I

Ivansuper in Dagger 2
Видимо просто "как сделали так и осталось", а менять сейчас такое себе дороже, потому что много править как следствие(
источник

AG

Artem Gilmudinov in Dagger 2
Спасибо за ссылку. Мне кажется это нормальная история. Сделали как казалось правильным на тот момент. Посмотрели потом как этим пользуются. Сделали получше.
источник

I

Ivansuper in Dagger 2
Artem Gilmudinov
Спасибо за ссылку. Мне кажется это нормальная история. Сделали как казалось правильным на тот момент. Посмотрели потом как этим пользуются. Сделали получше.
Ну по крайней мере это не единственный способ прикрепить подкомпонент, можно просто абстрактный метод создания прописать в родителе
источник

AG

Artem Gilmudinov in Dagger 2
Ivansuper
Ну по крайней мере это не единственный способ прикрепить подкомпонент, можно просто абстрактный метод создания прописать в родителе
Да можно так. Но я нашел issue в котором объясняется чем лучше вариант с аттрибутом subcomponents https://github.com/google/dagger/issues/919#issuecomment-340020604
источник

I

Ivansuper in Dagger 2
Тоже спасибо за ссылку
источник

I

Ivansuper in Dagger 2
Видимо придется жить пока с таким апи
источник

AG

Artem Gilmudinov in Dagger 2
Но я не могу придумать юзкейс для module.subscomponents кроме как dagger-android.
То есть предположим мы хотим инджектить во фрагмент с помощью даггера. Создали для фрагмента subcomponent. Теперь нам надо как-то этот сабкомпонент создать из родительского компонента. Как это сделать не имея метода в интерфейсе родительского компонента?
источник

I

Ivansuper in Dagger 2
Artem Gilmudinov
Но я не могу придумать юзкейс для module.subscomponents кроме как dagger-android.
То есть предположим мы хотим инджектить во фрагмент с помощью даггера. Создали для фрагмента subcomponent. Теперь нам надо как-то этот сабкомпонент создать из родительского компонента. Как это сделать не имея метода в интерфейсе родительского компонента?
Хороший вопрос. При такой конфигурации у меня кодген создал ровным счетом 0 строк кода для подкомпонента
источник

I

Ivansuper in Dagger 2
Я так понял по докам в модуле, через который ты указываешь подкомпонент, ты обязан так же  предоставить Provides на содержимое подкомпонента или его билдер ...
источник