Sobes.tech
Junior — Middle

Можете ли да објасните значење слова D у принципима SOLID?

sobes.tech АИ

Одговор од АИ

Slovo D u SOLID principima označava Princip inverzije zavisnosti.

Suština ovog principa:

  • Moduli višeg nivoa ne bi trebalo da zavise od modula nižeg nivoa. Oba treba da zavise od apstrakcija.
  • Apstrakcije ne bi trebalo da zavise od detalja. Detalji treba da zavise od apstrakcija.

Ovo pomaže da se smanji povezanost koda i poveća njegova fleksibilnost i testabilnost.

Primer u Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Čuvanje podataka u SQL bazi: $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('Primer podataka');
}

Ovde, DataManager ne zavisi od konkretne implementacije baze podataka, već od apstrakcije Database. Ovo omogućava lako menjanje implementacije baze bez potrebe za izmenom DataManager.