Size: a a a

2017 January 10

AZ

Alexandr Zherebtsov in Dagger 2
не всегда получается реализовать DI с одним корнем компановки, в случае с андроидом их много будет каждая активити или фрагмент, просто он берет на себя управление создания активити или фрагмента, поэтому каждый фрагмент или активити является корнем компановки здесь, это нормально
источник

DK

Dmitrii Korotovskii in Dagger 2
Artem Gilmudinov
@korotovskii а что тебя смущает в этих строчках?
Ну как по-научному выразился Александр, корень компановки должен быть один
источник

AG

Artem Gilmudinov in Dagger 2
не по-научному "схренали"?=)
источник

DK

Dmitrii Korotovskii in Dagger 2
Ну потому что параша какая-то иначе. Каждый класс имеет зависимость на 3-rd party DI библиотеку
источник

AG

Artem Gilmudinov in Dagger 2
ну так ты скрывай
источник

DK

Dmitrii Korotovskii in Dagger 2
Ты не можешь прото так взять и заменить DI фреймворк
источник

AG

Artem Gilmudinov in Dagger 2
за интерфейсами принадлежащим данному скоупу
источник

AG

Artem Gilmudinov in Dagger 2
типо фрагмент не будет  проинитен компонентом приложения
источник

AG

Artem Gilmudinov in Dagger 2
а если и инитит, то скрыто через сабкомпонент фрагмента
источник

A

Abripuit in Dagger 2
Dmitrii Korotovskii
Ты не можешь прото так взять и заменить DI фреймворк
Ты скорее и не будешь его менять, не это главная задача
источник

DK

Dmitrii Korotovskii in Dagger 2
Abripuit
Ты скорее и не будешь его менять, не это главная задача
Да это понятно. Я поэтому в самом начале и написал, что вопрос больше академический.
источник

A

Abripuit in Dagger 2
Но присоединяюсь к вопросу
источник

A

Abripuit in Dagger 2
Ведь нужно же оставить код трестируемым, а в некоторых местах пролазит этот ваш корень компановки
источник

A

Abripuit in Dagger 2
С явным вызовом
источник

AG

Artem Gilmudinov in Dagger 2
с этим научились бороться
источник

A

Abripuit in Dagger 2
И во всех примерах мол делайте так
источник

AZ

Alexandr Zherebtsov in Dagger 2
Artem Gilmudinov
не по-научному "схренали"?=)
просто есть канонический паттерн в DI Register-Resolve-Release он подразумевает один корень компановки, но это канонический вариант
источник

AG

Artem Gilmudinov in Dagger 2
@mansonheart не знал, спасибо
источник

A

Abripuit in Dagger 2
Ну сейчас я просто инжекты делаю с Activity или Fragment, но это не хорошо смотрится
источник

A

Abripuit in Dagger 2
Dmitrii Korotovskii
Потому что сейчас у меня в коде есть что то типа такого ((MyApplication) getApplication()).getNetComponent().inject(this); в куче мест.
И если к примеру в интеракторе будет так
источник