Sobes.tech
Junior — Middle

Izskaidrojiet Dependency Injection koncepciju ASP.NET Core un kā tā tiek izmantota lietojumprogrammu izstrādē.

sobes.tech AI

Atbilde no AI

ASP.NET Core pievienošanas injekcija (DI) ir mehānisms, kas ļauj injicēt atkarības (piemēram, pakalpojumus, krātuves) klases bez nepieciešamības tās manuāli izveidot. Tas palielina modulārumību, testējamību un vienkāršo atkarību pārvaldību.

ASP.NET Core DI ir integrēts rāmī un konfigurēts ConfigureServices metodē Startup klasē vai Program.cs.

Piemērs reģistrācijai un pakalpojuma izmantošanai:

// Pakalpojuma interfeiss
public interface IMessageService {
    string GetMessage();
}

// Pakalpojuma realizācija
public class MessageService : IMessageService {
    public string GetMessage() => "Sveiki no DI!";
}

// Reģistrācija `ConfigureServices`
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Izmantošana caur konstruktoru
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Tādējādi ASP.NET Core automātiski izveidos MessageService instanci un nodos to kontrolierim, novēršot nepieciešamību manuāli veidot objektus.