Sobes.tech
Intern — Junior

Για ποιο λόγο χρησιμοποιείται η εισαγωγή εξαρτήσεων στα λογισμικά modules;

sobes.tech AI

Απάντηση από AI

Η εισαγωγή εξαρτήσεων (Dependency Injection, DI) χρησιμοποιείται για την αύξηση της modularity και της δοκιμαστικότητας των λογισμικών μονάδων. Αντί να δημιουργούνται εξαρτήσεις μέσα στην κλάση, περνάνε από έξω, επιτρέποντας την εύκολη αντικατάσταση υλοποιήσεων, απλοποιώντας τη συντήρηση και την επέκταση του κώδικα.

Για παράδειγμα, σε 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}.");
    }
}

Αυτή η προσέγγιση διευκολύνει την αντικατάσταση του logger με άλλο (π.χ., αρχείο) χωρίς να αλλάξει η κλάση UserService.