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.