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.