Junior — Middle
Pouvez-vous expliquer le concept d'injection de dépendances et pourquoi il est nécessaire en programmation?
sobes.tech IA
Réponse de l'IA
L'injection de dépendances (Dependency Injection, DI) est un patron de conception qui permet de transmettre aux objets les dépendances dont ils ont besoin depuis l'extérieur, plutôt que de les créer eux-mêmes. Cela augmente la modularité, facilite les tests et la maintenance du code.
Par exemple, dans une application iOS, vous avez une classe ViewController qui dépend du service NetworkService. Au lieu de créer NetworkService à l'intérieur de ViewController, vous le passez via le constructeur ou une propriété:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Utilisation:
let service = NetworkService()
let vc = ViewController(networkService: service)
Cette approche permet de remplacer facilement NetworkService par un objet simulé lors des tests et améliore la flexibilité de l'architecture.