Sobes.tech
Junior — Middle

¿Puedes explicar el significado de la letra D en los principios SOLID?

sobes.tech AI

Respuesta de la IA

La letra D en los principios SOLID significa Principio de Inversión de Dependencias.

La esencia de este principio:

  • Los módulos de nivel superior no deben depender de los módulos de nivel inferior. Ambos deben depender de abstracciones.
  • Las abstracciones no deben depender de los detalles. Los detalles deben depender de las abstracciones.

Esto ayuda a reducir el acoplamiento del código y a aumentar su flexibilidad y capacidad de prueba.

Ejemplo en Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Guardando datos en la 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('Datos de ejemplo');
}

Aquí, DataManager no depende de una implementación concreta de la base de datos, sino de la abstracción Database. Esto permite cambiar fácilmente la implementación de la base sin modificar DataManager.