Sobes.tech
Intern — Junior

¿Para qué se utiliza la inyección de dependencias en los módulos de software?

sobes.tech AI

Respuesta de la IA

La inyección de dependencias (Dependency Injection, DI) se utiliza para mejorar la modularidad y la capacidad de prueba de los módulos de software. En lugar de crear dependencias dentro de la clase, se pasan desde fuera, lo que permite reemplazar fácilmente las implementaciones, simplifica el mantenimiento y la extensión del código.

Por ejemplo, en C# con DI, se puede pasar la implementación de una interfaz al constructor de la clase:

public interface ILogger {
    void Log(string message);
}

public class ConsoleLogger : ILogger {
    public void Log(string message) {
        Console.WriteLine(message);
    }
}

public class UserService {
    private readonly ILogger _logger;

    public UserService(ILogger logger) {
        _logger = logger;
    }

    public void CreateUser(string name) {
        // lógica de creación de usuario
        _logger.Log($"Usuario {name} creado.");
    }
}

Este enfoque facilita la sustitución del logger por otro (por ejemplo, uno de archivos) sin modificar la clase UserService.