Sobes.tech
Junior — Middle

Puteți explica semnificația literei D în principiile SOLID?

sobes.tech AI

Răspuns de la AI

Litera D în principiile SOLID reprezintă Principiul inversiunii dependențelor.

Esenta acestui principiu:

  • Modulele de nivel superior nu trebuie să depindă de modulele de nivel inferior. Ambele trebuie să depindă de abstracții.
  • Abstracțiile nu trebuie să depindă de detalii. Detaliile trebuie să depindă de abstracții.

Acest lucru ajută la reducerea cuplajului codului și la creșterea flexibilității și testabilității sale.

Exemplu în Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Salvarea datelor în baza 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('Date exemplu');
}

Aici, DataManager nu depinde de o implementare concretă a bazei de date, ci de abstracția Database. Acest lucru permite schimbarea ușoară a implementării bazei de date fără a modifica DataManager.