Sobes.tech
Junior — Middle

Milliseid tööriistu või teeke Dependency Injection kasutad oma projektides?

sobes.tech AI

Vastus AI-lt

Android projektides kasutatakse sageli järgmisi teeke sõltuvuste sisestamiseks:

  • Dagger 2 — Google'i poolt loodud staatiline ja kompileeritav DI raamistik, mis genereerib koodi kompileerimise ajal, tagades kõrge jõudluse.
  • Hilt — Dagger 2 peal põhinev kiht, mis lihtsustab selle kasutamist ja integratsiooni Androidi komponentidega.
  • Koin — kerge DI raamistik Kotlinis, mis ei nõua koodi genereerimist ja on lihtsam seadistada, sobib väikestele ja keskmise suurusega projektidele.

Koini kasutamise näide:

// Mooduli määratlus
val appModule = module {
    single { Repository() }
    factory { ViewModel(get()) }
}

// Koini initsialiseerimine Applicationis
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidContext(this@App)
            modules(appModule)
        }
    }
}

// Injitseerimine Activitys
class MainActivity : AppCompatActivity() {
    private val viewModel: ViewModel by inject()
}

Tööriista valik sõltub projekti nõuetest ja meeskonna eelistustest.