0Pricing
Android Academy · Ders

Bağımlılık Enjeksiyonu Neden Kullanılır

Kodu test edilebilir ve modüler hâle getirin.

Bağımlılık Enjeksiyonu Neden Kullanılır, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

Bağımlılık Enjeksiyonu Nedir?

Bağımlılık Enjeksiyonu (DI), bir nesnenin ihtiyaç duyduğu şeyleri kendi oluşturmasına izin vermek yerine dışarıdan sağlamaktır.

Sorun: Sıkı Bağımlılıklar

Bir sınıf kendi bağımlılıklarını oluşturduğunda sıkı şekilde birbirine bağlanır ve değiştirilmesi veya test edilmesi zorlaşır.

class UserViewModel {
    private val repo = UserRepository(
        ApiClient(), AppDatabase.get()
    ) // tightly coupled
}

Çözüm: Enjeksiyon Kullanmak

Bağımlılıkları kurucu üzerinden aktarın. Böylece sınıf, bunların nasıl oluşturulduğuyla artık ilgilenmez.

class UserViewModel(
    private val repo: UserRepository
) {
    // repo supplied from outside
}

1. Fayda: Test Edilebilirlik

Testlerde sahte veya taklit bir depo aktarabilirsiniz; böylece gerçek bir ağ ya da veritabanı olmadan ViewModel'ı test edebilirsiniz.

val vm = UserViewModel(FakeUserRepository())

2. Fayda: Modülerlik

Sınıflar soyutlamalara bağlı olduğundan, tüketiciye dokunmadan uygulamaları değiştirebilirsiniz — örneğin gerçek bir API yerine çevrimdışı bir taslak kullanabilirsiniz —.

Arayüzlere Bağlanın

Sınıfları somut bir türe değil, bir arayüze bağımlı hâle getirin. Kolayca değiştirebilmenin anahtarı budur.

interface UserRepository {
    suspend fun getUsers(): List<User>
}

class NetworkUserRepository(
    private val api: ApiService
) : UserRepository { /* ... */ }

3. Fayda: Tek Sorumluluk

Sınıflar, iş birlikçilerini oluşturmak yerine kendi görevlerine odaklanır. Nesne oluşturma işi özel bir yere taşınır.

Elle DI Kullanmak Zorlaşır

DI işlemini elle yapabilirsiniz; ancak grafik büyüdükçe birçok nesneyi manuel olarak birbirine bağlamanız ve bunları kurucular üzerinden aktarmanız gerekir. Bu yöntem zahmetli ve hataya açıktır.

val db = AppDatabase.get(context)
val api = ApiService.create()
val repo = NetworkUserRepository(api)
val vm = UserViewModel(repo)
// ...repeated everywhere

Bir DI Çerçevesi Kullanmak

Bir çerçeve bu bağlantıları otomatikleştirir. Her bağımlılığın nasıl oluşturulacağını bir kez bildirirsiniz; çerçeve de grafiğin tamamını sizin için oluşturur.

Neden Hilt?

Hilt, Android için önerilen DI çerçevesidir. Dagger üzerine kuruludur ve çok daha az kalıp kodla Android sınıfları (Application, Activity, ViewModel) için standart kapsamlar sağlar.

Hilt Size Ne Sağlar?

  • Otomatik bağımlılık grafiği oluşturma.
  • Yaşam döngüsünü dikkate alan kapsamlar.
  • Activity, Fragment ve ViewModel sınıflarına kolay enjeksiyon.

Sonraki derslerde kurulumu yapacaksınız.

Hızlı Kontrol

Bağımlılık enjeksiyonu konusundaki anlayışınızı sınayın.

Özet

Şunları öğrendiniz:

  • DI, bağımlılıkları içeride oluşturmak yerine dışarıdan sağlar.
  • Test edilebilirliği, modülerliği ve sorumlulukların ayrılmasını geliştirir.
  • Arayüzlere bağımlı olun.
  • Elle DI kullanımı büyük projelerde iyi ölçeklenmez; Hilt bunu otomatikleştirir.

Sıkça Sorulan Sorular

“Bağımlılık Enjeksiyonu Neden Kullanılır” dersi ücretsiz mi?

Evet — “Bağımlılık Enjeksiyonu Neden Kullanılır” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Bağımlılık Enjeksiyonu Neden Kullanılır” dersinde ne öğreneceğim?

Kodu test edilebilir ve modüler hâle getirin. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Bağımlılık Enjeksiyonu Neden Kullanılır” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Bağımlılık Enjeksiyonu Neden Kullanılır
  2. Hilt Kurulumu
  3. Modüller ve Sağlayıcılar
  4. ViewModel'lere Enjeksiyon
← Android Academy Sayfasına Dön