Встречается на собеседованиях • сегодня

Что значит D в SOLID

D в SOLID означает Dependency Inversion Principle (DIP) – принцип инверсии зависимостей.

Суть:

  1. Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракций.
  2. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

Пример:

java
// Абстракция (интерфейс)
interface Storage {
    void save(String data);
}

// Реализация (деталь)
class DatabaseStorage implements Storage {
    @Override
    public void save(String data) {
        System.out.println("Saving to DB: " + data);
    }
}

// Класс верхнего уровня зависит от абстракции
class DataProcessor {
    private final Storage storage;

    DataProcessor(Storage storage) { // Dependency Injection
        this.storage = storage;
    }

    void process(String data) {
        storage.save(data);
    }
}

Так достигается гибкость – можно легко заменить DatabaseStorage на другую реализацию (например, FileStorage), не меняя DataProcessor.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы