Sobes.tech
Junior — Middle

Milyen eszközöket vagy könyvtárakat használtál Dependency Injectionhez a projektjeidben?

sobes.tech MI

Válasz az MI-től

Android-projektekben gyakran használják a következő könyvtárakat a függőséginjektáláshoz:

  • Dagger 2 — egy statikus, fordítási időben generált DI keretrendszer a Google-től, amely kódot generál fordítási időben, magas teljesítményt biztosítva.
  • Hilt — egy Dagger 2 feletti réteg, amely megkönnyíti a használatát és az Android-komponensekkel való integrációt.
  • Koin — egy könnyű Kotlin-alapú DI keretrendszer, amely nem igényel kódgenerálást, és egyszerűbb konfigurálni, alkalmas kis- és közepes projektekhez.

Koin használatának példája:

// Modul definiálása
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Koin inicializálása az Application-ben
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

// Injektálás az Activity-ben
class MainActivity : AppCompatActivity() {
    private val viewModel: ViewModel by inject()
}

A eszköz kiválasztása a projekt követelményeitől és a csapat preferenciáitól függ.