214 похожих чатов

Уважаемые, кто использует dagger в своих проектах. Интересуют вопросы: 1. Как вы

делите на компоненты и связываете их? Проект потихоньку делится на модули, так что вопрос с учётом перспектив выделения компонентов в модули. Существующие модули сейчас построены по паттерну component holder. Из модуля торчит такое: https://gist.github.com/PavelSidyakin/45630835b289325967ebd20d18013e51
Пока что все component holders инициализируются в Application.onCreate(), но это, понятное дело, не есть хорошо.

2. Как привязываете короткоживущие компоненты к тому, где они должны использоваться (например, компонент, который используется только в фрагменте и должен создаваться и уничтожаться с этим фрагментом)?

Информация, которую уже находил или слышал по данным вопросам.

1. Сабкомпоненты - зло в больших проектах. Лучше Component Dependency. https://habr.com/en/company/kaspersky/blog/422555/

2. AndroidInjections - зло. Так ли это? Как тогда привязывать жизнь компонента к Lifecycle?

3 ответов

14 просмотров

1. component dependencies + api/impl модули если по скорости пересборки упарываться 2. руками хранить компоненты и управлять их жц, привязывать можно, например, через registerActivityLifecycleCallbacks

костыль, но очень рабочий. - берешь VM от гугла - упарываешься немного по дженерикам - теперь твоя VM может хранить в себе компонент текущего фрагмента/активити - PROFIT - https://proandroiddev.com/bcb23c68dbc3 ну и конечно же можно использовать retained фрагменты или задеприкейченные ретейнд инстансы

и вот ещё интересный вариант https://proandroiddev.com/how-to-store-scoped-dagger-components-in-android-applications-4f3e86a5e957?gi=39892d249606 А вообще Hilt выпустили, довольно годный)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта