Я занимаюсь рефакторингом большой кодовой базы, где большинство классов находятся в одном пакете. Для лучшей модульности я создаю подпакеты для каждой функциональности.
Я помню, как где-то узнал, что граф зависимостей пакетов не должен иметь циклов, но я не знаю, как решить следующую проблему: Figureнаходится в пакете figure, Layoutнаходится в пакете layout, Layoutтребует фигуры для выполнения макета, поэтому пакет layoutзависит от пакета figure. Но с другой стороны, a Figureможет содержать Figureвнутри себя другие s, имеющие свои собственные Layout, что делает пакет figureзависимым от пакета layout.
У меня есть некоторые решения, такие как создание Containerинтерфейса, который Figureреализует и положить его в Layoutпакет. Это хорошее решение? Есть ли другие возможности?
благодаря