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.