Sobes.tech
Junior — Middle

Magyarázza el a Dependency Injection fogalmát az ASP.NET Core-ban, és hogyan alkalmazzák az alkalmazásfejlesztés során.

sobes.tech MI

Válasz az MI-től

A Dependency Injection (DI) az ASP.NET Core-ban egy mechanizmus, amely lehetővé teszi, hogy függőségeket (például szolgáltatásokat, tárolókat) injektáljunk osztályokba anélkül, hogy manuálisan kellene őket létrehozni. Ez növeli a modularitást, a tesztelhetőséget és egyszerűsíti a függőségek kezelését.

Az ASP.NET Core-ban a DI beépített a keretrendszerbe, és a Startup osztály ConfigureServices metódusában vagy a Program.cs-ben konfigurálható.

Példa egy szolgáltatás regisztrálására és használatára:

// Szolgáltatás interfésze
public interface IMessageService {
    string GetMessage();
}

// Szolgáltatás implementációja
public class MessageService : IMessageService {
    public string GetMessage() => "Helló a DI-ből!";
}

// Regisztráció a ConfigureServices-ben
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Konstruktoron keresztüli használat
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Így az ASP.NET Core automatikusan létrehozza a MessageService példányát és átadja a vezérlőnek, elkerülve a manuális objektumkészítést.