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.