Junior — Middle
Czy możesz wyjaśnić znaczenie litery D w zasadach SOLID?
sobes.tech AI
Odpowiedź od AI
Litera D w zasadach SOLID oznacza Zasada odwrócenia zależności.
Istota tej zasady:
- Moduły wyższego poziomu nie powinny zależeć od modułów niższego poziomu. Oba powinny zależeć od abstrakcji.
- Abstrakcje nie powinny zależeć od szczegółów. Szczegóły powinny zależeć od abstrakcji.
To pomaga zmniejszyć powiązania w kodzie i zwiększyć jego elastyczność oraz testowalność.
Przykład w Dart/Flutter:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('Zapisywanie danych do bazy 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('Przykładowe dane');
}
Tutaj DataManager nie zależy od konkretnej implementacji bazy danych, lecz od abstrakcji Database. Umożliwia to łatwą zmianę implementacji bazy bez modyfikacji DataManager.