Junior — Middle
Aké nástroje alebo knižnice Dependency Injection si používal vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
V Android projektoch sa často používajú nasledujúce knižnice na injekciu závislostí:
- Dagger 2 — statický, kompilovaný DI rámec od Google, ktorý generuje kód počas kompilácie, čím zabezpečuje vysoký výkon.
- Hilt — nadstavba nad Dagger 2, ktorá zjednodušuje jeho používanie a integráciu s Android komponentmi.
- Koin — ľahký DI rámec v Kotlin, ktorý nevyžaduje generovanie kódu a je jednoduchší na nastavenie, vhodný pre malé a stredné projekty.
Príklad použitia Koin:
// Definícia modulu
val appModule = module {
single { Repository() }
factory { ViewModel(get()) }
}
// Inicializácia Koin v Application
class App : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@App)
modules(appModule)
}
}
}
// Injektáž v Activity
class MainActivity : AppCompatActivity() {
private val viewModel: ViewModel by inject()
}
Výber nástroja závisí od požiadaviek projektu a preferencií tímu.