Sobes.tech
Junior — Middle

Explicați conceptul de Injectare a Dependențelor în ASP.NET Core și modul în care este aplicat în dezvoltarea aplicațiilor.

sobes.tech AI

Răspuns de la AI

Injecția de Dependințe (DI) în ASP.NET Core este un mecanism care permite injectarea dependențelor (de exemplu, servicii, depozite) în clase fără a fi nevoie să le creezi manual. Acest lucru crește modularitatea, testabilitatea și simplifică gestionarea dependențelor.

În ASP.NET Core, DI este integrat în framework și se configurează în metoda ConfigureServices a clasei Startup sau în Program.cs.

Exemplu de înregistrare și utilizare a unui serviciu:

// Interfața serviciului
public interface IMessageService {
    string GetMessage();
}

// Implementarea serviciului
public class MessageService : IMessageService {
    public string GetMessage() => "Salut din DI!";
}

// Înregistrare în ConfigureServices
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Utilizare prin constructor
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Astfel, ASP.NET Core va crea automat o instanță a MessageService și o va transmite către controler, eliminând necesitatea de a crea manual obiecte.