Junior — Middle
Proqram təminatı sistemlərinin inkişafında asılılıqların daxil edilməsi üçün hansı vasitə istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Proqram təminatı sistemlərinin inkişafında asılılıqların inteqrasiyası üçün tez-tez Dependency Injection (DI) nümunəsindən istifadə olunur — asılılıqların enjekte edilməsi.
C#-da DI-ni həyata keçirmək üçün adətən xüsusi konteynerlər (IoC konteynerləri) istifadə olunur; bunlar obyektlərin yaradılmasını və həyat dövrünü, eləcə də onların asılılıqlarını idarə edir.
C#-da DI üçün məşhur vasitələr:
- Microsoft.Extensions.DependencyInjection — .NET Core və .NET 5+ daxilində olan konteyner
- Autofac — güclü və çevik konteyner
- Ninject
- Unity
ASP.NET Core-da daxili DI-nin istifadəsinə nümunə:
public interface IMessageService
{
void Send(string message);
}
public class EmailService : IMessageService
{
public void Send(string message)
{
Console.WriteLine($"Email göndərilir: {message}");
}
}
// Startup.cs-də
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IMessageService, EmailService>();
}
// Kontrol və ya başqa sinifdə
public class HomeController
{
private readonly IMessageService _messageService;
public HomeController(IMessageService messageService)
{
_messageService = messageService;
}
public void Notify()
{
_messageService.Send("Salam!");
}
}
Bu şəkildə, DI asılılıqların yaradılmasını onların istifadəsindən ayırmağa imkan verir, bu da kodun test ediləbilərliyini və saxlanmasını yaxşılaşdırır.