Sobes.tech
Junior — Middle

Erklären Sie das Konzept der Dependency Injection in ASP.NET Core und wie es in der Anwendungsentwicklung angewendet wird.

sobes.tech KI

Antwort von AI

Dependency Injection (DI) in ASP.NET Core ist ein Mechanismus, der es ermöglicht, Abhängigkeiten (z.B. Dienste, Repositories) in Klassen zu injizieren, ohne sie manuell erstellen zu müssen. Dies erhöht die Modularität, Testbarkeit und vereinfacht die Verwaltung der Abhängigkeiten.

In ASP.NET Core ist DI in das Framework integriert und wird in der Methode ConfigureServices der Klasse Startup oder in Program.cs konfiguriert.

Beispiel für die Registrierung und Verwendung eines Dienstes:

// Dienstschnittstelle
public interface IMessageService {
    string GetMessage();
}

// Dienstimplementierung
public class MessageService : IMessageService {
    public string GetMessage() => "Hallo von DI!";
}

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

// Verwendung über den Konstruktor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Auf diese Weise erstellt ASP.NET Core automatisch eine Instanz von MessageService und übergibt sie an den Controller, wodurch die manuelle Objekterstellung entfällt.