Sobes.tech
Junior — Middle

Leg uit wat het concept van Dependency Injection in ASP.NET Core is en hoe het wordt toegepast bij het ontwikkelen van applicaties.

sobes.tech AI

Antwoord van AI

Dependency Injection (DI) in ASP.NET Core is een mechanisme waarmee afhankelijkheden (bijvoorbeeld services, repositories) in klassen kunnen worden geïnjecteerd zonder ze handmatig te hoeven maken. Dit verhoogt de modulariteit, testbaarheid en vereenvoudigt het beheer van afhankelijkheden.

In ASP.NET Core is DI ingebouwd in het framework en wordt geconfigureerd in de ConfigureServices-methode van de Startup-klasse of in Program.cs.

Voorbeeld van registratie en gebruik van een service:

// Service-interface
public interface IMessageService {
    string GetMessage();
}

// Service-implementatie
public class MessageService : IMessageService {
    public string GetMessage() => "Hallo van DI!";
}

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

// Gebruik via constructor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Op deze manier maakt ASP.NET Core automatisch een instantie van MessageService aan en geeft deze door aan de controller, waardoor handmatig objecten maken niet nodig is.