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.