Sobes.tech
Intern — Junior

Para que serve a injeção de dependências em módulos de software?

sobes.tech IA

Resposta da IA

A injeção de dependências (Dependency Injection, DI) é usada para melhorar a modularidade e a testabilidade dos módulos de software. Em vez de criar dependências dentro da classe, elas são passadas de fora, o que permite substituir facilmente as implementações, simplifica a manutenção e a expansão do código.

Por exemplo, em C# com DI, pode-se passar a implementação de uma interface para o construtor da classe:

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 criação de usuário
        _logger.Log($"Usuário {name} criado.");
    }
}

Este método facilita a substituição do logger por outro (por exemplo, arquivo) sem alterar a classe UserService.