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.