Sobes.tech
Junior — Middle

Objasnite koncept Dependency Injection u ASP.NET Core i kako se primenjuje u razvoju aplikacija.

sobes.tech АИ

Одговор од АИ

Injektovanje zavisnosti (DI) u ASP.NET Core je mehanizam koji omogućava ubrizgavanje zavisnosti (npr. servisa, repozitorijuma) u klase bez potrebe da ih ručno kreirate. Ovo povećava modularnost, testabilnost i pojednostavljuje upravljanje zavisnostima.

U ASP.NET Core, DI je ugrađen u okvir i konfiguriše se u metodi ConfigureServices klase Startup ili u Program.cs.

Primer registracije i korišćenja servisa:

// Interfejs servisa
public interface IMessageService {
    string GetMessage();
}

// Implementacija servisa
public class MessageService : IMessageService {
    public string GetMessage() => "Zdravo iz DI!";
}

// Registracija u ConfigureServices
public void ConfigureServices(IServiceCollection services) {
    services.AddTransient<IMessageService, MessageService>();
}

// Korišćenje putem konstruktora
public class HomeController : Controller {
    private readonly IMessageService _messageService;
    public HomeController(IMessageService messageService) {
        _messageService = messageService;
    }

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

Na ovaj način, ASP.NET Core automatski kreira instancu MessageService i prosleđuje je u kontroler, čime se eliminiše potreba za ručno pravljenje objekata.