Sobes.tech
Junior — Middle

Kādus rīkus vai bibliotēkas Dependency Injection jūs izmantojāt savos projektos?

sobes.tech AI

Atbilde no AI

Android projektos bieži izmanto šādās bibliotēkas atkarību injekcijai:

  • Dagger 2 — Google izstrādāts statisks, kompilējams DI ietvars, kas ģenerē kodu kompilācijas laikā, nodrošinot augstu veiktspēju.
  • Hilt — virs Dagger 2, kas vienkāršo tā lietošanu un integrāciju ar Android komponentiem.
  • Koin — viegls DI ietvars Kotlin valodā, kas neprasa koda ģenerēšanu un ir vienkāršāks konfigurācijā, piemērots mazākiem un vidējiem projektiem.

Koin piemērs:

// Moduļa definīcija
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Koin inicializācija Application
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

// Injekcija Activity
class MainActivity : AppCompatActivity() {
    private val viewModel: ViewModel by inject()
}

Instrumenta izvēle ir atkarīga no projekta prasībām un komandas vēlmēm.