CodeBlanks Logo Icon CodeBlanks

module

module { } ile modül tanımlamayı öğrenirsin.

module bloğu

Bir module, Koin'de bağımlılıkların tanımlandığı bloktur. module { ... } çağrısı ile oluşturulur.

Örnek: val appModule = module { single { Repository() } }. Bu modül Repository sınıfını tek örnek olarak sağlar. Modüller genellikle bir val'e atanır ve startKoin { modules(appModule) } ile bağlanır. Bir modül içinde birden fazla bağımlık tanımlanabilir. Modüller, uygulamanın bölümlerine göre ayrılabilir; örn. ağ modülü, veritabanı modülü.

Modül yapısı

Bir modül içinde her bağımlılık bir single ya da factory bloğu ile tanımlanır. Bağımlılıklar arasında başvuru doğrudan yapılabilir.

Örnek: module { single { Repository() }; single { Service(get()) } }. Burada Service, Repository'yi get() ile alır. get() Koin'e ilgili türü sorar. Modüller birbirinden bağımsız parçalar halinde yazılabilir. startKoin çağrısında birden fazla modül verilebilir; Koin hepsini birleştirir.

Uygulama appModule tanımla

val appModule = module { } tanımla. main içinde println("Modül hazır") yazdır.

Başlangıç kodu

Main.kt
// module
// buraya yaz
import org.koin.dsl.module

fun main() {
    
}

Örnek çözüm

Main.kt
val appModule = module {
}

fun main() {
    println("Modül hazır")
}

Beklenen çıktı

Modül hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 module çağrısını tamamla

Soru
val appModule = ____ {
    single { Repository() }
}
Cevap
val appModule = module {
    single { Repository() }
}

Açıklama: module ile bağımlılık bloğu açılır.

2 module parçalarını eşle

Kavram Anlamı
module Bağımlılık bloğu
single Tek örnek
factory Her seferinde yeni
get Başka bağımlılık

3 Modül içinde başka bir bağımlılığı almak için ne kullanılır?

  • fetch()
  • get() Doğru cevap
  • find()
  • load()

Açıklama: get() ile başka bağımlılık alınır.

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