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 ответов

4 просмотра

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 выпустили, довольно годный)

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Привет всем. Не знаю, удачный ли чатик я выбрал для вопроса, но он как будто в целом про концепцию фп и конкретно про Haskell. Прочитал, что в целом в мире фп нет идеи мутабел...
Gellert Cringewald
15
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Всем, привет! Подскажите, пожалуйста, самую лёгкую, быструю, лаконичную и адаптивную тему для WP? Бесплатно или чтобы можно было в РФ оплатить доступ к теме. Раньше брал на...
Евгений Грак
14
@helgispbru @Dreamer_0x01 @Pathologic93 @webber_12 Не уверен, что вам всем это жутко интересно, но в продолжение недавнего диалога отправлю свои наброски. Хочу понять, правил...
Андрей [aharito] Харитонов
13
а меня уроют или закопают если я сделаю ПЛИС на базе х86?
Vi Chapmann
11
Карта сайта