Back to questions
Andersen
Junior — Middle
100
Можете объяснить значение буквы D в принципах SOLID?
Companies where asked
Верме
Answer from AI
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.