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.