Sobes.tech
Junior — Middle

ASP.NET Core-də Asılılıq İnjeksiyası anlayışını izah edin və onun tətbiq sahəsini tətbiqetmə inkişafında necə istifadə olunduğunu açıqlayın.

sobes.tech Süni İntellekt

AI-dan cavab

ASP.NET Core-da Asılılıq İnteqrasiyası (DI), asılılıqları (məsələn, xidmətlər, anbarlar) siniflərə əl ilə yaratmadan daxil etməyə imkan verən mexanizmdir. Bu, modullluğu, test ediləbilənliyi artırır və asılılıqların idarə olunmasını sadələşdirir.

ASP.NET Core-da DI çərçivəyə daxil edilmişdir və Startup sinifindəki ConfigureServices metodunda və ya Program.csdə konfiqurasiya edilir.

Xidmətin qeydiyyatı və istifadəsi nümunəsi:

// Xidmət interfeysi
public interface IMessageService {
    string GetMessage();
}

// Xidmətin tətbiqi
public class MessageService : IMessageService {
    public string GetMessage() => "DI-dən Salam!";
}

// ConfigureServices-də qeydiyyat
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Konstruktor vasitəsilə istifadə
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Beləliklə, ASP.NET Core avtomatik olaraq MessageService nümunəsini yaradacaq və onu kontrolçiyə ötürəcək, bu da obyektləri əl ilə yaratmağa ehtiyac qalmayacaq.