Junior — Middle
Ποιες προσεγγίσεις και τεχνικές διασφαλίζουν την τήρηση της αρχής της αντίστροφης εξάρτησης στον σχεδιασμό συστήματος;
sobes.tech AI
Απάντηση από AI
Η αρχή της αντιστροφής των εξαρτήσεων (Dependency Inversion Principle) στον σχεδιασμό συστημάτων επιτυγχάνεται με τις ακόλουθες προσεγγίσεις και τεχνικές:
- Χρήση αφαιρέσεων αντί για συγκεκριμένες υλοποιήσεις. Οι κλάσεις πρέπει να εξαρτώνται από διεπαφές ή αφηρημένες κλάσεις, όχι από συγκεκριμένες κλάσεις.
- Εισαγωγή εξαρτήσεων (Dependency Injection). Οι εξαρτήσεις περνάνε στην κλάση από έξω (μέσω κατασκευαστή, ιδιοτήτων ή μεθόδων), και όχι δημιουργούνται μέσα σε αυτή.
- Αντιστροφή ελέγχου (IoC). Ο έλεγχος για τη δημιουργία και σύνδεση αντικειμένων μεταβιβάζεται σε έναν εξωτερικό κοντέινερ ή πλαίσιο.
Παράδειγμα σε C# με injection εξαρτήσεων:
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} δημιουργήθηκε.");
}
}
Αυτή η προσέγγιση διευκολύνει τον έλεγχο, την επεκτασιμότητα και τη συντήρηση του κώδικα.