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

Что такое циклическая зависимость

Циклическая зависимость возникает, когда два или более класса/компонента зависят друг от друга напрямую или через цепочку зависимостей, образуя цикл. Это может привести к проблемам при создании объектов, тестировании и поддержке кода.

Пример циклической зависимости:

java
class A {
    private B b;
    public A(B b) { this.b = b; }
}

class B {
    private A a;
    public B(A a) { this.a = a; }
}

// Создание объектов вызовет StackOverflowError
// A a = new A(new B(new A(...)));

Способы решения:

  1. Использовать интерфейсы для развязки
  2. Применить Dependency Injection
  3. Внедрять зависимости через сеттеры вместо конструкторов
  4. Использовать паттерн "Посредник" (Mediator)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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