Junior — Middle
¿Puedes explicar el concepto de inyección de dependencias y por qué es necesario en programación?
sobes.tech AI
Respuesta de la IA
La inyección de dependencias (Dependency Injection, DI) es un patrón de diseño que permite pasar las dependencias necesarias a los objetos desde fuera, en lugar de crearlas dentro de los propios objetos. Esto aumenta la modularidad, facilita las pruebas y el mantenimiento del código.
Por ejemplo, en una aplicación de iOS, tienes una clase ViewController que depende del servicio NetworkService. En lugar de crear NetworkService dentro de ViewController, lo pasas a través del constructor o una propiedad:
class NetworkService {
func fetchData() { /* ... */ }
}
class ViewController {
let networkService: NetworkService
init(networkService: NetworkService) {
self.networkService = networkService
}
func loadData() {
networkService.fetchData()
}
}
// Uso:
let service = NetworkService()
let vc = ViewController(networkService: service)
Este enfoque permite reemplazar fácilmente NetworkService por un objeto simulado durante las pruebas y mejora la flexibilidad de la arquitectura.