При объявлении модулей Dagger, есть ли рекомендуемые рекомендации по использованию интерфейса против абстрактного класса? Например:
@Module
abstract class MyFragmentModule {
@get:ContributesAndroidInjector(modules = [SampleModule::class])
abstract val myFragment: MyFragment
}
@Module
interface MyFragmentModule {
@get:ContributesAndroidInjector(modules = [SampleModule::class])
val myFragment: MyFragment
}
Очевидно, что сейчас нет одного преимущества перед другим, но какие случаи побудили бы меня использовать тот или иной?