Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε το νόημα του γράμματος D στις αρχές SOLID;

sobes.tech AI

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

Το γράμμα D στις αρχές SOLID σημαίνει Αρχή Αντιστροφής Εξαρτήσεων.

Η ουσία αυτής της αρχής:

  • Τα modules υψηλού επιπέδου δεν πρέπει να εξαρτώνται από τα modules χαμηλού επιπέδου. Και τα δύο πρέπει να εξαρτώνται από αφαιρέσεις.
  • Οι αφαιρέσεις δεν πρέπει να εξαρτώνται από λεπτομέρειες. Οι λεπτομέρειες πρέπει να εξαρτώνται από τις αφαιρέσεις.

Αυτό βοηθά στη μείωση της συσχέτισης του κώδικα και στην αύξηση της ευελιξίας και της δοκιμαστικότητάς του.

Παράδειγμα σε Dart/Flutter:

abstract class Database {
  void saveData(String data);
}

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Αποθήκευση δεδομένων στη βάση SQL: $data');
  }
}

class DataManager {
  final Database database;

  DataManager(this.database);

  void save(String data) {
    database.saveData(data);
  }
}

void main() {
  Database db = SqlDatabase();
  DataManager manager = DataManager(db);
  manager.save('Παραδειγματικά δεδομένα');
}

Εδώ, το DataManager δεν εξαρτάται από μια συγκεκριμένη υλοποίηση βάσης δεδομένων, αλλά από την αφαιρετική Database. Αυτό επιτρέπει την εύκολη αλλαγή της υλοποίησης της βάσης δεδομένων χωρίς να τροποποιηθεί το DataManager.