Ответ
Multibinding в Dagger позволяет объединять несколько зависимостей одного типа в коллекцию (Set, Map или List) для инъекции. Полезно, когда нужно предоставить несколько реализаций интерфейса.
Пример с @IntoSet:
@Module
class AppModule {
@Provides
@IntoSet
fun provideString1(): String = "Hello"
@Provides
@IntoSet
fun provideString2(): String = "World"
}
class MyClass @Inject constructor(
private val strings: Set<String> // ["Hello", "World"]
)
Также есть @ElementsIntoSet для коллекций и @IntoMap с ключами. Multibinding упрощает добавление зависимостей без изменения кода потребителя.