可以说我有两个接口(interface),例如:

interface LetterClassifier
interface NumberClassifier

然后将这些接口(interface)应用于此类:
class Classifier() : LetterClassifier, NumberClassifier

现在,我只想将这些实例提供为LetterClassifierNumberClassifier,而不是Classifier中的Koin

我想这样做的方式是:
module {
    val classifier = Classifier()

    single<NumberClassifier> { classifier }
    single<LetterClassifier> { classifier }
}

但是我认为这不是正确的方法。有人可以指导我吗?

最佳答案

您可以类型绑定(bind)到您的定义,就像official article中描述的那样:

single { Classifier() } binds arrayOf(LetterClassifier::class, NumberClassifier::class)

如果您想完全排除Classifier类型,则可以执行以下操作:
single<LetterClassifier> { Classifier() } bind NumberClassifier::class

10-04 10:32