Sobes.tech
Junior — Middle

Meg tudná magyarázni a D betű jelentését a SOLID elvekben?

sobes.tech MI

Válasz az MI-től

A SOLID elvek D betűje a Dependency Inversion Principle (Függőség fordított elv) jelentése.

Ennek az elvnek a lényege:

  • A magas szintű moduloknak nem szabad alacsony szintű modulokra támaszkodniuk. Mindkettőnek az absztrakciókra kell támaszkodnia.
  • Az absztrakcióknak nem szabad a részletektől függniük. A részleteknek az absztrakcióktól kell függniük.

Ez segít csökkenteni a kód összekapcsoltságát és növeli a rugalmasságát és tesztelhetőségét.

Példa Dart/Flutter:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('Adatok mentése SQL adatbázamba: $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('Példa adat');
}

Itt a DataManager nem függ egy konkrét adatbázis implementációtól, hanem az absztrakciótól, a Database-től. Ez lehetővé teszi az adatbázis implementációjának könnyű cseréjét anélkül, hogy módosítani kellene a DataManager-t.