Sobes.tech
Junior — Middle

Sistem dizaynında asılılıqların tərs prinsipi ilə uyğunluğu təmin edən yanaşmalar və texnikalar hansılardır?

sobes.tech Süni İntellekt

AI-dan cavab

Sistem dizaynında asılılıqların tərs çevrilməsi prinsipi (Dependency Inversion Principle) aşağıdakı yanaşmalar və texnikalar vasitəsilə əldə edilir:

  • Xüsusi tətbiqlər yerinə abstraksiyaların istifadəsi. Sinflər, konkret sinflərdən yox, interfeyslər və ya abstrakt sinflərdən asılı olmalıdır.
  • Asılılıqların injeksiyası (Dependency Injection). Asılılıqlar sinfə xaricdən (konstruktor, xüsusiyyətlər və ya metodlar vasitəsilə) ötürülür və içində yaradılmır.
  • İstiqamətin tərs çevrilməsi (IoC). Obiektlərin yaradılması və əlaqələndirilməsi üzərində nəzarət xarici konteyner və ya çərçivəyə verilir.

C# nümunəsi ilə asılılıqların injeksiyası:

public interface ILogger
{
    void Log(string message);
}

public class ConsoleLogger : ILogger
{
    public void Log(string message) => Console.WriteLine(message);
}

public class UserService
{
    private readonly ILogger _logger;

    public UserService(ILogger logger)
    {
        _logger = logger; // asılılıq xaricdən ötürülür
    }

    public void CreateUser(string name)
    {
        // istifadəçi yaradılması loqikası
        _logger.Log($"İstifadəçi {name} yaradıldı.");
    }
}

Bu yanaşma testləri, genişləndirməni və kodun saxlanmasını asanlaşdırır.