Junior — Middle
Да ли имате искуство у коришћењу контејнера инверзије управљања у својим пројектима?
sobes.tech АИ
Одговор од АИ
Da, u C# projektima često se koristi IoC kontejner za upravljanje zavisnostima između komponenti aplikacije. To omogućava pojednostavljenje kreiranja i konfiguracije objekata, povećava modularnost i testabilnost koda.
Na primer, pomoću popularnih IoC kontejnera kao što su Microsoft.Extensions.DependencyInjection, Autofac ili Ninject, možete registrovati servise i automatski ih injektovati u konstruktore klasa.
Primer korišćenja Microsoft.Extensions.DependencyInjection:
using Microsoft.Extensions.DependencyInjection;
public interface IMessageService {
void Send(string message);
}
public class EmailService : IMessageService {
public void Send(string message) {
Console.WriteLine($"Slanje emaila: {message}");
}
}
class Program {
static void Main() {
var services = new ServiceCollection();
services.AddTransient<IMessageService, EmailService>();
var provider = services.BuildServiceProvider();
var messageService = provider.GetService<IMessageService>();
messageService.Send("Zdravo IoC!");
}
}
Ovaj pristup olakšava zamenu implementacija, pojednostavljuje testiranje pomoću mock objekata i podstiče čišću arhitekturu.