Sobes.tech
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.