Junior — Middle
განმარტეთ Dependency Injection კონცეფცია ASP.NET Core-ში და როგორ გამოიყენება პროგრამების განვითარებაში.
sobes.tech AI
პასუხი AI-სგან
ASP.NET Core-ში დამოკიდებულების შეყვანა (DI) არის მექანიზმი, რომელიც საშუალებას აძლევს დამოკიდებულებების (მაგალითად, სერვისები, რეპოზიტორები) ჩაშენებას კლასებში ხელით შექმნის გარეშე. ეს ზრდის მოდულურობას, ტესტირებადობას და გამარტივებს დამოკიდებულებების მართვას.
ASP.NET Core-ში DI ინტეგრირებულია ჩარჩოში და კონფიგურირებულია Startup კლასის ConfigureServices მეთოდში ან Program.cs-ში.
მაგალითი სერვისის რეგისტრაციისა და გამოყენების:
// სერვისის ინტერფეისი
public interface IMessageService {
string GetMessage();
}
// სერვისის განხორციელება
public class MessageService : IMessageService {
public string GetMessage() => "გამარჯობა DI-დან!";
}
// რეგისტრაცია `ConfigureServices`-ში
public void ConfigureServices(IServiceCollection services) {
services.AddTransient<IMessageService, MessageService>();
}
// გამოყენება კონსტრუქტორით
public class HomeController : Controller {
private readonly IMessageService _messageService;
public HomeController(IMessageService messageService) {
_messageService = messageService;
}
public IActionResult Index() {
var message = _messageService.GetMessage();
return Content(message);
}
}
ამ გზით, ASP.NET Core-ი ავტომატურად შექმნის MessageService-ის ინстанციას და გადმოეცემა კონტროლერს, რაც გამორიცხავს ობიექტების ხელით შექმნის საჭიროებას.