Sto rifattorizzando un grande codebase in cui la maggior parte delle classi si trova in un unico pacchetto. Per una migliore modularità, sto creando sotto-pacchetti per ogni funzionalità.
Ricordo di aver appreso da qualche parte che un grafico di dipendenza del pacchetto non dovrebbe avere cicli, ma non so come risolvere il seguente problema: Figure
è nel pacchetto figure
, Layout
è nel pacchetto layout
, Layout
richiede che la figura esegua il layout, quindi il pacchetto layout
dipende dal pacchetto figure
. D'altro canto, un Figure
può contenere al suo interno altri Figure
s, con il proprio Layout
, che rende il pacchetto figure
dipendente dal pacchetto layout
.
Tuttavia ho alcune soluzioni, come creare un'interfaccia Container
che Figure
implementa e inserirla nel pacchetto Layout
. Questa è una buona soluzione? Altre possibilità?
Grazie