Ответ
Для внедрения зависимостей в Android есть несколько популярных инструментов:
- Dagger/Hilt – стандартные решения от Google. Hilt – это упрощённая обёртка над Dagger, специально для Android.
@HiltAndroidApp
class MyApp : Application()
@AndroidEntryPoint
class MainActivity : AppCompatActivity()
- Koin – легковесная DI-библиотека, работающая на pure Kotlin (без аннотаций).
val appModule = module {
single { MyRepository() }
factory { ViewModel(get()) }
}
-
Kodein – ещё один Kotlin-ориентированный вариант, похожий на Koin.
-
Manual DI – ручное внедрение через конструкторы или фабрики (используется в чистых архитектурах).
Hilt рекомендуется для больших проектов, Koin – для быстрого старта. Все они решают проблему управления зависимостями, но с разным подходом к конфигурации и производительности.