Sobes.tech
Junior — Middle

SOLID prinsiplərində D hərfinin mənasını izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

SOLID prinsiplərində D hərfi Dependency Inversion Principle (Asılılıqların Tərs Çevrilməsi Prinsipi) deməkdir.

Bu prinsipin mahiyyəti:

  • Yuxarı səviyyəli modullar aşağı səviyyəli modullara bağlı olmamalıdır. Hər ikisi abstraksiyalara bağlı olmalıdır.
  • Abstraksiyalar detallara bağlı olmamalıdır. Detallar abstraksiyalara bağlı olmalıdır.

Bu, kodun əlaqəliliyini azaltmağa və onun çevikliyini və test edilə bilməsini artırmağa kömək edir.

Dart/Flutter nümunəsi:

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

class SqlDatabase implements Database {
  @override
  void saveData(String data) {
    print('SQL bazasına məlumatların saxlanması: $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('Nümunə məlumat');
}

Burada, DataManager konkret verilənlər bazası tətbiqindən asılı deyil, Database abstraksiyasına bağlıdır. Bu, verilənlər bazası tətbiqini asanlıqla dəyişməyə imkan verir, DataManager-ı dəyişdirmədən.