Sobes.tech
Junior — Middle

Pode explicar o significado da letra D nos princípios SOLID?

sobes.tech IA

Resposta da IA

A letra D nos princípios SOLID significa Princípio da Inversão de Dependências.

A essência deste princípio:

  • Os módulos de nível superior não devem depender de módulos de nível inferior. Ambos devem depender de abstrações.
  • As abstrações não devem depender dos detalhes. Os detalhes devem depender das abstrações.

Isto ajuda a reduzir o acoplamento do código e a aumentar a sua flexibilidade e testabilidade.

Exemplo em Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('A guardar dados na base 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('Dados de exemplo');
}

Aqui, DataManager não depende de uma implementação concreta de base de dados, mas da abstração Database. Isto permite trocar facilmente a implementação da base sem modificar DataManager.