Sobes.tech
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-ის ინстанციას და გადმოეცემა კონტროლერს, რაც გამორიცხავს ობიექტების ხელით შექმნის საჭიროებას.