Sobes.tech
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.