Sobes.tech
Junior — Middle

Welke tools of bibliotheken voor Dependency Injection heb je gebruikt in je projecten?

sobes.tech AI

Antwoord van AI

In Android-projecten worden vaak de volgende bibliotheken gebruikt voor Dependency Injection:

  • Dagger 2 — een statisch, gecompileerd DI-framework van Google dat code genereert tijdens de compilatie, wat zorgt voor hoge prestaties.
  • Hilt — een bovenlaag over Dagger 2 die het gebruik en de integratie met Android-componenten vereenvoudigt.
  • Koin — een lichtgewicht DI-framework in Kotlin dat geen codegeneratie vereist en eenvoudiger te configureren is, geschikt voor kleine en middelgrote projecten.

Voorbeeld van gebruik van Koin:

// Module-definitie
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Initialisatie van Koin in Application
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

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

De keuze van het hulpmiddel hangt af van de projectvereisten en de voorkeuren van het team.