Sobes.tech
Junior — Middle

Explique o conceito de Injeção de Dependências no ASP.NET Core e como ele é aplicado no desenvolvimento de aplicações.

sobes.tech IA

Resposta da IA

Injeção de Dependências (DI) no ASP.NET Core é um mecanismo que permite injetar dependências (por exemplo, serviços, repositórios) em classes sem necessidade de as criar manualmente. Isto aumenta a modularidade, testabilidade e simplifica a gestão de dependências.

No ASP.NET Core, o DI está integrado no framework e é configurado no método ConfigureServices da classe Startup ou em Program.cs.

Exemplo de registo e uso de um serviço:

// Interface do serviço
public interface IMessageService {
    string GetMessage();
}

// Implementação do serviço
public class MessageService : IMessageService {
    public string GetMessage() => "Olá do DI!";
}

// Registo em ConfigureServices
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Uso através do construtor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

    public IActionResult Index() {
        var message = _messageService.GetMessage();
        return Content(message);
    }
}

Desta forma, o ASP.NET Core criará automaticamente uma instância de MessageService e passá-la-á ao controlador, evitando a necessidade de criar objetos manualmente.