Sobes.tech
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.