Sobes.tech
Junior — Middle

ASP.NET Coreдогу Dependency Injection концепциясын түшіндіріп бериңіз жана ал колдонмодо кандайча колдонулат.

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 объектисин түзүп, аны контроллерге өткөрөт, бул кол менен объект түзүүнүн кереги жоктугун камсыздайт.