Sobes.tech
Intern — Junior

რა მიზნით გამოიყენება დამოკიდებულებების შეყვანა პროგრამული მოდულებში?

sobes.tech AI

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

დამოკიდებულებების შეყვანა (Dependency Injection, DI) გამოიყენება პროგრამული მოდულების მოდულურობისა და ტესტირებადობის გასაუმჯობესებლად. ნაცვლად იმისა, რომ დამოკიდებულებები კლასის შიგნით შეიქმნას, ისინი გარედან გადაეცემა, რაც საშუალებას აძლევს ადვილად შეცვალოს რეალიზაციები, გაამარტივოს კოდის შენარჩუნება და გაფართოება.

მაგალითად, C#-ში, DI-ის გამოყენებით, ინტერფეისის რეალიზაცია შეიძლება გადაეცეს კლასის კონსტრუქტორს:

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;
    }

    public void CreateUser(string name) {
        // օգտագործողի ստեղծման տրամաբանություն
        _logger.Log($"Օգտագործող {name} ստեղծվեց.");
    }
}

Այս մոտեցումը հեշտացնում է լոգգերի փոխարինումը այլով (օրինակ՝ ֆայլային)՝ առանց UserService դասը փոփոխելու։