CodeBlanks Logo Icon CodeBlanks

Özet - DI

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

Main.kt
// Özet: DI
// buraya yaz
import org.koin.core.context.startKoin
import org.koin.dsl.module

fun main() {
    
}

Örnek çözüm

Main.kt
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

İleri seviye bölümündeki tüm dersler