Size: a a a

2019 May 21

N

Nikolay in Dagger 2
Yank
здесь реализовал даггер, сделал компонент и модуль и заинжектил интерактор в презентер. Сам экземпляр интерактора создал в фрагменте.
1 корректно ли я сделал?
2 если да, то зачем даггер если я мог просто в фрагменте создать интерактор и просетить в презентр?
Код ещё не смотрел, но звучит очень не правильно. Зачем ты интерактор создавал во фрагменте? Пусть Даггер для тебя это сделает
источник

Y

Yank in Dagger 2
Nikolay
Код ещё не смотрел, но звучит очень не правильно. Зачем ты интерактор создавал во фрагменте? Пусть Даггер для тебя это сделает
в фрагменте у меня вот так

AuthComponent component = DaggerAuthComponent.builder().authModule(new AuthModule()).build();
       component.inject(presenter);
источник

Y

Yank in Dagger 2
по крайней мере сработало))
источник

Y

Yank in Dagger 2
в общем задача такая, в презентере нужен экземпляр интерактора
источник

N

Nikolay in Dagger 2
Хм, а где ты создал presenter?
источник

Y

Yank in Dagger 2
Nikolay
Хм, а где ты создал presenter?
перзентр через мокси инжектиться
источник

SV

Sergey Vasilchenko in Dagger 2
https://github.com/Arello-Mobile/Moxy/issues/100
как юзать мокси + даггер можно посмотреть тут
источник

N

Nikolay in Dagger 2
Yank
перзентр через мокси инжектиться
Что-то как-то сложно. Ты в апп классе создаёшь компонент и потом во фрагменте опять. Зачем?
источник

Y

Yank in Dagger 2
Nikolay
Что-то как-то сложно. Ты в апп классе создаёшь компонент и потом во фрагменте опять. Зачем?
вот, вот этого я не понимаю)
источник

Y

Yank in Dagger 2
в примерах там в апп классе контест берется. апп класс я чисто по примеру сделал
источник

SV

Sergey Vasilchenko in Dagger 2
Yank
в фрагменте у меня вот так

AuthComponent component = DaggerAuthComponent.builder().authModule(new AuthModule()).build();
       component.inject(presenter);
много лишнего кода - AuthModule не нужен вообще + интерактор надо инжектить не в поле, а в конструктор презентера
источник

Y

Yank in Dagger 2
к кому в личку можно чтоб пошагово объяснили?)
источник

VB

V B in Dagger 2
Yank
к кому в личку можно чтоб пошагово объяснили?)
Да миллион статей о том, что и как инжектить
источник

VB

V B in Dagger 2
V B
Да миллион статей о том, что и как инжектить
Базовый же случай
источник

SV

Sviat Volkov in Dagger 2
Yank
к кому в личку можно чтоб пошагово объяснили?)
DI это про инжект конструкторы, вактиви и фрагменты мы индежектим через поле т.к. конструктор нельзя
источник

UH

Untamed Horse in Dagger 2
Изучаю подходы по реализации мультиодульности в gradle и несколько раз видел совет выносить абсолютно всю даггеровскую кодогенерацию в app-модуль. Можете объяснить, почему это выгодно с точки зрения скорости сборки? Разве не должно быть выгоднее оставить внутреннюю DI-кухню фичи внутри ее модуля, чтобы при изменении одной фичи не перегенерировать DI, связанный с другими, параллельными, фичами? Или же с kapt так не сработает?
источник

SV

Sviat Volkov in Dagger 2
Покажите где такое рекомендуется, как раз наоборот надо разнести kapt по модулям чтобы он работал не полностью а по модульно
источник

SV

Sviat Volkov in Dagger 2
В каждом фича модуле свой di а в app модуле вы это собираете вместе
источник

SV

Sviat Volkov in Dagger 2
Такая логика
источник

UH

Untamed Horse in Dagger 2
Да, я тоже так рассуждаю. Но вот в этом докладе советуют делать как можно больше модулей без kapt (сгружая весь кодген даггера в app-модуль):
https://www.youtube.com/watch?v=FMiFtsew2UY&list=LL5p31Dt77EKQxF9ecKo58vQ&index=4&t=0s

А еще вот здесь ребята пишут о том же самом:
https://bitbucket.org/surfstudio/android-standard/src/58e7816384521011488aa04b7840cd7f0da220bf/docs/common/multimodule/detail.md
источник