Junior — Middle
Можете ли да објасните значење слова D у принципима SOLID?
sobes.tech АИ
Одговор од АИ
Slovo D u SOLID principima označava Princip inverzije zavisnosti.
Suština ovog principa:
- Moduli višeg nivoa ne bi trebalo da zavise od modula nižeg nivoa. Oba treba da zavise od apstrakcija.
- Apstrakcije ne bi trebalo da zavise od detalja. Detalji treba da zavise od apstrakcija.
Ovo pomaže da se smanji povezanost koda i poveća njegova fleksibilnost i testabilnost.
Primer u Dart/Flutter:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('Čuvanje podataka u SQL bazi: $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('Primer podataka');
}
Ovde, DataManager ne zavisi od konkretne implementacije baze podataka, već od apstrakcije Database. Ovo omogućava lako menjanje implementacije baze bez potrebe za izmenom DataManager.