Junior — Middle
Poți explica conceptul de injecție de dependențe și de ce este necesar în programare?
sobes.tech AI
Răspuns de la AI
Injecția de dependințe (Dependency Injection, DI) este un pattern de proiectare care permite transmiterea obiectelor de care au nevoie alte obiecte din exterior, în loc să le creeze în interiorul propriului obiect. Acest lucru crește modularitatea, facilitează testarea și întreținerea codului.
De exemplu, într-o aplicație iOS, aveți o clasă ViewController care depinde de serviciul NetworkService. În loc să creați NetworkService în interiorul ViewController, îl transmiteți prin constructor sau proprietate:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Utilizare:
let service = NetworkService()
let vc = ViewController(networkService: service)
Această abordare permite înlocuirea ușoară a NetworkService cu un obiect mock în timpul testelor și îmbunătățește flexibilitatea arhitecturii.