Junior
Para que serve a Injeção de Dependências no desenvolvimento em C#?
sobes.tech IA
Resposta da IA
A Injeção de Dependências (DI) em C# é usada para gerir as dependências entre classes, aumentando a flexibilidade e a testabilidade do código.
Objetivos principais do DI:
- Reduzir o acoplamento: as classes não criam suas dependências diretamente, mas as recebem de fora.
- Simplificar os testes: é fácil substituir dependências por mocks ou stubs.
- Melhorar a manutenção: alterar a implementação de uma dependência não requer modificar o código que a utiliza.
Exemplo:
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.");
}
}
// Injeção de dependência
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Dessa forma, DI promove a inversão de controle (IoC) e melhora a arquitetura da aplicação.