Junior — Middle
Vai jūs varat izskaidrot D burta nozīmi SOLID principos?
sobes.tech AI
Atbilde no AI
SOLID principa D burts nozīmē Atkarības inversijas principu.
Šī principa būtība:
- Augstākā līmeņa moduļi nedrīkst būt atkarīgi no zemākā līmeņa moduļiem. Abi ir jāatkarīgās no abstrakcijām.
- Abstrakcijas nedrīkst būt atkarīgas no detaļām. Detaļas ir jāatkarīgās no abstrakcijām.
Tas palīdz samazināt koda sasaisti un palielina tā elastību un testējamību.
Piemērs Dart/Flutter:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('Datu saglabāšana SQL DB: $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('Piemēra dati');
}
Šeit DataManager nav atkarīgs no konkrētas datu bāzes realizācijas, bet no abstrakcijas Database. Tas ļauj viegli mainīt datu bāzes realizāciju bez DataManager izmaiņām.