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.