interface SampleA
interface SampleB
class SampleImpl : SampleA, SampleB
インターフェイスSampleA
、SampleB
を継承しているSampleImpl
をKoin
で注入します。
val modules = module {
// 1つのinterface(SampleA)を継承している場合。
factory<SampleA> { SampleImpl() }
// 2つ以上のinterface(SampleA/SampleB)を継承している場合。
factory { SampleImpl() }.binds(SampleA::class, SampleB::class)
}
startKoin {
androidContext(context)
modules(modules)
}