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