Junior — Middle
Bağımlılık enjeksiyonu kavramını açıklayabilir misiniz ve bunun programlamada neden gerekli olduğunu?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bağımlılık Enjeksiyonu (Dependency Injection, DI), nesnelere ihtiyaç duydukları bağımlılıkları dışarıdan iletmeyi sağlayan tasarım desenidir; bu, nesnelerin içinde bağımlılıkları oluşturmaktan ziyade, dışarıdan verilmesini sağlar. Bu, modülerliği artırır, testi ve kodun bakımını kolaylaştırır.
Örneğin, bir iOS uygulamasında, ViewController sınıfınızın NetworkService adlı bir servise bağımlılığı olduğunu düşünün. NetworkService'i ViewController içinde oluşturmak yerine, yapıcı veya özellik aracılığıyla geçersiniz:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Kullanım:
let service = NetworkService()
let vc = ViewController(networkService: service)
Bu yaklaşım, NetworkService'in testler sırasında kolayca sahte bir nesne ile değiştirilmesine olanak tanır ve mimarinin esnekliğini artırır.