Sobes.tech
Junior — Middle

Bağımlılık enjeksiyonu kavramını açıklayabilir misiniz ve programlamada neden gereklidir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bağımlılık Enjeksiyonu (Dependency Injection, DI), bir nesnenin bağımlılıklarını kendi içinde değil, dışarıdan aldığı tasarım desenidir. Bu, kodun daha modüler, test edilebilir ve esnek olmasına yardımcı olur.

Örneğin, bir sınıf içinde servis örneği oluşturmak yerine, bu servisi yapıcı veya ayar metoduyla geçiririz. Bu, servis uygulamasını, örneğin testler için mock ile değiştirmeyi kolaylaştırır.

Swift'te örnek:

protocol Service {
    func doSomething()
}

class RealService: Service {
    func doSomething() {
        print("İş yapılıyor")
    }
}

class Consumer {
    let service: Service

    init(service: Service) {
        self.service = service
    }

    func execute() {
        service.doSomething()
    }
}

let service = RealService()
let consumer = Consumer(service: service)
consumer.execute()

Bu şekilde, bağımlılık enjeksiyonu kodun bakımını ve test edilmesini kolaylaştırır.