Junior — Middle
Selgitage Dependency Injection kontseptsiooni ASP.NET Core'is ja kuidas seda rakendatakse rakenduste arendamisel.
sobes.tech AI
Vastus AI-lt
ASP.NET Core'is sõltuvuste süstimine (DI) on mehhanism, mis võimaldab sõltuvusi (näiteks teenuseid, hoidlaid) klassidesse sisestada ilma neid käsitsi looma. See suurendab modulaarust, testitavust ja lihtsustab sõltuvuste haldamist.
ASP.NET Core'is on DI integreeritud raamistikku ja konfigureeritakse ConfigureServices meetodis Startup klassis või Program.cs-s.
Näide teenuse registreerimisest ja kasutamisest:
// Teenuse liides
public interface IMessageService {
string GetMessage();
}
// Teenuse rakendus
public class MessageService : IMessageService {
public string GetMessage() => "Tere DI-st!";
}
// Registreerimine `ConfigureServices`-s
public void ConfigureServices(IServiceCollection services) {
services.AddTransient<IMessageService, MessageService>();
}
// Kasutamine konstruktorist
public class HomeController : Controller {
private readonly IMessageService _messageService;
public HomeController(IMessageService messageService) {
_messageService = messageService;
}
public IActionResult Index() {
var message = _messageService.GetMessage();
return Content(message);
}
}
Nii loob ASP.NET Core automaatselt MessageService eksemplari ja edastab selle kontrollerile, vältides vajadust käsitsi objekte luua.