Sobes.tech
Junior — Middle

ASP.NET Core'da Bog'lanishni injektsiya qilish konseptini tushuntiring va uni dastur ishlab chiqishda qanday qo'llash mumkinligini aytib bering.

sobes.tech AI

AIdan javob

ASP.NET Core'da Bog'lanishni inject qilish (DI) mexanizmi, bog'lanishlarni (masalan, xizmatlar, depozitlar) sinflarga qo'lda yaratmasdan inject qilish imkonini beradi. Bu modullik, test qilish imkoniyatini oshiradi va bog'lanishlarni boshqarishni soddalashtiradi.

ASP.NET Core'da DI frameworkga integratsiya qilingan va Startup sinfidagi ConfigureServices metodida yoki Program.csda sozlanadi.

Xizmatni ro'yxatdan o'tkazish va foydalanish misoli:

// Xizmat interfeysi
public interface IMessageService {
    string GetMessage();
}

// Xizmat amalga oshirilishi
public class MessageService : IMessageService {
    public string GetMessage() => "DI'dan Salom!";
}

// ConfigureServices'da ro'yxatga olish
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Konstruktor orqali foydalanish
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Shu tarzda, ASP.NET Core avtomatik ravishda MessageService nusxasini yaratadi va uni kontrolerga uzatadi, shuning uchun qo'lda obyektlar yaratish shart emas.