Sobes.tech
Junior — Middle

პროგრამული არქიტექტურის დამოკიდებულების პრინციპის გამოყენების ძირითადი მიზეზი რა არის?

sobes.tech AI

პასუხი AI-სგან

დამოკიდებულების უკუღმართობის პრინციპი (Dependency Inversion Principle, DIP) გამოიყენება სისტემის კომპონენტებს შორის კავშირის შემცირებისა და მისი მოქნილობისა და ტესტირების შესაძლებლობის გასაზრდელად.

DIP-ის მთავარი მიზეზია, რომ მაღალი დონის მოდულები იყოს დამოუკიდებელი დაბალი დონის მოდულებისგან, ორივე უნდა იყოს დამოკიდებული აბსტრაქციებზე (ინტერფეისებზე), არა კონკრეტულ რეალიზაციებზე. ეს საშუალებას აძლევს მარტივად შეცვალოს რეალიზაციები, ამარტივებს კოდის შენარჩუნებას და გაფართოებას.

C# მაგალითი:

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

public class FileLogger : ILogger
{
    public void Log(string message) { /* ფაილში ჩაწერა */ }
}

public class UserService
{
    private readonly ILogger _logger;

    public UserService(ILogger logger)
    {
        _logger = logger; // დამოკიდებულება აბსტრაქციის მეშვეობით
    }

    public void CreateUser(string name)
    {
        // მომხმარებლის შექმნის ლოგიკა
        _logger.Log($"მომხმარებელი {name} შექმნილია.");
    }
}

აქ, UserService დამოკიდებულია ILogger ინტერფეისზე, არა კონკრეტულ FileLogger-ზე. ეს იძლევა ლოგერის მარტივ შეცვლას, მაგალითად, DatabaseLogger-ზე, ცვლილებების გარეშე UserService-ში.