Sobes.tech
Junior — Middle

Kunt u de betekenis van de letter D in de SOLID-principes uitleggen?

sobes.tech AI

Antwoord van AI

De letter D in de SOLID-principes staat voor Dependency Inversion Principle (Principe van afhankelijkheidsomkering).

De kern van dit principe:

  • Modules op hoog niveau mogen niet afhankelijk zijn van modules op laag niveau. Beide moeten afhankelijk zijn van abstracties.
  • Abstracties mogen niet afhankelijk zijn van details. Details moeten afhankelijk zijn van abstracties.

Dit helpt om de koppeling in de code te verminderen en de flexibiliteit en testbaarheid te vergroten.

Voorbeeld in Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Gegevens opslaan in 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('Voorbeeldgegevens');
}

Hier hangt DataManager niet af van een concrete implementatie van de database, maar van de abstractie Database. Dit maakt het gemakkelijk om de database-implementatie te wijzigen zonder DataManager te hoeven aanpassen.