Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot D burta nozīmi SOLID principos?

sobes.tech AI

Atbilde no AI

SOLID principa D burts nozīmē Atkarības inversijas principu.

Šī principa būtība:

  • Augstākā līmeņa moduļi nedrīkst būt atkarīgi no zemākā līmeņa moduļiem. Abi ir jāatkarīgās no abstrakcijām.
  • Abstrakcijas nedrīkst būt atkarīgas no detaļām. Detaļas ir jāatkarīgās no abstrakcijām.

Tas palīdz samazināt koda sasaisti un palielina tā elastību un testējamību.

Piemērs Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Datu saglabāšana 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('Piemēra dati');
}

Šeit DataManager nav atkarīgs no konkrētas datu bāzes realizācijas, bet no abstrakcijas Database. Tas ļauj viegli mainīt datu bāzes realizāciju bez DataManager izmaiņām.