Özet - DI
- Kotlin kursu
- İleri seviye
- Ders 42/83
- 5 dk
module, single ve by inject'i birleştirerek bir servis katmanı yazarsın.
Özet - DI
Bu grupta Koin, module, single ve factory, by inject ve by viewModel kavramlarını işledik. Bunlar Kotlin ile bağımlılık enjeksiyonunun temelidir.
Bir startKoin çağrısı ile başlar, module ile bağımlılıkları tanımlar, single/factory ile yaşam süresi verir, by inject() ile sınıflara bağımlılık verir, by viewModel() ile ViewModel'leri bağlarsın. Birlikte gevşek bağlı bir uygulama ortaya çıkar.
Uygulama DI özetle
val appModule = module { single { Repository() } } tanımla. Ayrıca class Repository tanımla. main içinde startKoin { modules(appModule) } çağır ve println("Özet hazır") yazdır.
Başlangıç kodu
// Özet: DI
// buraya yaz
import org.koin.core.context.startKoin
import org.koin.dsl.module
fun main() {
}Örnek çözüm
class Repository
val appModule = module {
single { Repository() }
}
fun main() {
startKoin {
modules(appModule)
}
println("Özet hazır")
}Beklenen çıktı
Özet hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi tek örnek (singleton) bağımlılık tanımlar?
- single Doğru cevap
- factory
- module
- get
Açıklama: single ile tek örnek tanımlanır.
2 Tüm DI kavramlarını eşle
| Kavram | Anlamı |
|---|---|
startKoin |
Başlatma |
module |
Bağımlılık bloğu |
single |
Tek örnek |
by inject |
Lazy bağımlılık |
by viewModel |
ViewModel |