Sobes.tech
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.