Sobes.tech
Junior — Middle

Vysvetlite koncept Dependency Injection v ASP.NET Core a ako sa používa pri vývoji aplikácií.

sobes.tech AI

Odpoveď od AI

Injektáž závislostí (DI) v ASP.NET Core je mechanizmus, ktorý umožňuje vkladať závislosti (napríklad služby, repozitáre) do tried bez nutnosti ich manuálneho vytvárania. To zvyšuje modularitu, testovateľnosť a zjednodušuje správu závislostí.

V ASP.NET Core je DI integrované do rámca a konfiguruje sa v metóde ConfigureServices triedy Startup alebo v Program.cs.

Príklad registrácie a použitia služby:

// Rozhranie služby
public interface IMessageService {
    string GetMessage();
}

// Implementácia služby
public class MessageService : IMessageService {
    public string GetMessage() => "Ahoj z DI!";
}

// Registrácia v ConfigureServices
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Použitie cez konštruktor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Týmto spôsobom ASP.NET Core automaticky vytvorí inštanciu MessageService a ju odovzdá do kontrolera, čím sa eliminuje potreba manuálneho vytvárania objektov.