Junior — Middle
119
Можете объяснить значение буквы D в принципах SOLID?
Компании, где спрашивали
Верме
Ответ от нейросети
sobes.tech AI
Буква D в принципах SOLID означает Dependency Inversion Principle (Принцип инверсии зависимостей).
Суть этого принципа:
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Это помогает снизить связанность кода и повысить его гибкость и тестируемость.
Пример на Dart/Flutter:
abstract class Database {
void saveData(String data);
}
class SqlDatabase implements Database {
@override
void saveData(String data) {
print('Saving data to 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('Example data');
}
Здесь DataManager зависит не от конкретной реализации базы данных, а от абстракции Database. Это позволяет легко менять реализацию базы без изменения DataManager.