我正在将 Koin 库用于 Android 项目。我想在模块之间共享一些实例,因为它们在整个应用程序中被大量使用。例如:
val moduleA = module {
scope(named<FragmentA>()) {
scoped { FirebaseFirestore.getInstance() }
scoped { LocalDatabase.getInstance(App.sContext) }
scoped { NetworkDataSourceA(get()) }
}
}
val moduleB = module {
scope(named<FragmentB>()) {
scoped { FirebaseFirestore.getInstance() }
scoped { LocalDatabase.getInstance(App.sContext) }
scoped { NetworkDataSourceB(get()) }
}
}
正如我们从以下模块中看到的那样,两个模块之间的FirebaseFirestore.getInstance()
和LocalDatabase.getInstance(App.sContext)
是相同的。有没有一种方法可以声明让我们说一个moduleC
包含FirebaseFirestore.getInstance()
和的LocalDatabase.getInstance(App.sContext)
然后在 and 上调用moduleA
它moduleB
?