Sobes.tech
Junior — Middle

Puoi spiegare il significato della lettera D nei principi SOLID?

sobes.tech AI

Risposta dell'AI

La lettera D nei principi SOLID rappresenta il Principio di Inversione delle Dipendenze.

L'essenza di questo principio:

  • I moduli di livello superiore non devono dipendere dai moduli di livello inferiore. Entrambi devono dipendere da astrazioni.
  • Le astrazioni non devono dipendere dai dettagli. I dettagli devono dipendere dalle astrazioni.

Questo aiuta a ridurre l'accoppiamento del codice e ad aumentare la sua flessibilità e testabilità.

Esempio in Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Salvataggio dati nel DB 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('Dati di esempio');
}

Qui, DataManager non dipende da un'implementazione concreta del database, ma dall'astrazione Database. Questo permette di cambiare facilmente l'implementazione del database senza modificare DataManager.