Sobes.tech
Junior — Middle

Môžete vysvetliť význam písmena D v princípoch SOLID?

sobes.tech AI

Odpoveď od AI

Písmeno D v princípoch SOLID znamená Princip závislosti na obrácení.

Podstata tohto princípu:

  • Moduly vyššej úrovne by nemali závisieť od modulov nižšej úrovne. Oba by mali závisieť od abstrakcií.
  • Abstrakcie by nemali závisieť od detailov. Detaily by mali závisieť od abstrakcií.

Toto pomáha znižovať prepojenosť kódu a zvyšovať jeho flexibilitu a testovateľnosť.

Príklad v Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Ukladanie dát do SQL DB: $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('Príkladové dáta');
}

Tu DataManager nezávisí od konkrétnej implementácie databázy, ale od abstrakcie Database. To umožňuje ľahko meniť implementáciu databázy bez nutnosti upravovať DataManager.