Обложка канала

Android Broadcast

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

Android Broadcast

7 лет назад
Открыть в
#Dagger #Multibindings

Dagger 2 Multibindings Illustrated

Dagger 2 имеет множество возможностей, хотя множество разработчиков используют его по простому сценарию: "1 модуль. 1 компонент. @Inject. AppComponent.inject(...)". Но в Dagger есть много интересного функционала. Например, Multibinding, который позволяет вам объединять зависимости одного типа из разных модулей и компонентов в Set или Map.

Когда это может пригодиться? Когда у вас есть обработчики для создания элементов по типу элементов. Это эффективно можно применить для выполнения доставки зависимостей в конструктор Fragment (поддерживается в androidx.fragment 1.1.0):
1. Предоставляете способ создания Fragment в Dagger модуле
2. Из Dagger вы можете получить Map<Class<Fragment>, Provider<Fragment>>

Код получается гибким и хорошо расширяемым. А значит мы и улучшили нашу архитектуру

В статье вы найдете руководство как использовать эту возможность библиотеки и делать архитектуру ваших приложений более гибкой.