大家好。请告诉我,Component
如果其中一个类接受另一个类作为构造函数,Hilt 是否可以提供两个具有不同类型的类?如果不可能,那么我将面临一个依赖项拉动另一个依赖项的问题,然后我将不得不将一堆模块从 更改ViewModelComponent
为SingletonComponent
.
一个模块将提供单例,因为深层链接的处理不依赖于任何类的生命周期:
@Module
@InstallIn(SingletonComponent::class)
object DeeplinkModule {
@Provides
@IntoSet
fun provideDeeplinkProcessor (сardReissueRepository: CardReissueRepository): DeeplinkProcessorV2 = MyDeeplinkProcessor(сardReissueRepository)
}
另一个模块将为视图模型提供对象,因此我设置了 ViewModelComponent:
@Module
@InstallIn(ViewModelComponent::class)
object ViewModelModule {
@Provides
fun provideCardReissueRepository (/* Много зависимостей */): CardReissueRepository = CardReissueRepositoryImpl(/* Много зависимостей */)
}
CardReissueRepository
将很多东西放入构造函数中,如果你创建了它SingletonComponent
,那么它的所有依赖项也都必须创建SingletonComponent
。或不?