В этом случае это легче сделать, потому что обе стороны независимы.Если они не разговаривают друг с другом, нетрудно создавать циклы.Вы должны быть осторожны, чтобы избежать их.
Создание циклических зависимостей несложно.Посмотрите на саму Java: java.lang, java.util и java.io имеют циклы.Перестанете ли вы писать Java, потому что это так «ужасно»?
Это означает, что вы никогда не сможете использовать libA без libB и наоборот.Они стали одной большой библиотекой.То же самое с пакетами в Java и других системах: когда у вас есть цикл, вы должны использовать все эти пакеты вместе, как если бы они были одним.
парни , которые пишут Spring, платят многовнимание к циклам.Они разрабатывают и реорганизуют свои структуры, чтобы устранить их.
Итак, что в этом плохого?Юрген Хеллер говорит, что они плохие, и он прав.Но, с вашей точки зрения, какое зло постигло вас?Это означает, что вы должны использовать как при запуске, так и при тестировании.Вы не можете проверить класс A без класса B и наоборот, когда между ними есть цикл.Это усложняет тестирование и работу.
Вы можете выбрать альтернативу, у которой нет цикла.Если вы можете изменить источник, вы можете рефакторинг и поддерживать его.Но это все.
Вам следует проверить собственный код, чтобы убедиться, что вы сделали это для себя.IntelliJ имеет хорошие инструменты анализа, которые могут быть применены к базе кода.Проверьте это.