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