Mi chiedo se questo è il modo corretto di gestire la mia situazione quando si impacchettano per feature. Utilizzare la seguente struttura di progetto come esempio:
com.foobar.web.Bootstrap.java
com.foobar.web.TcpServer.java
com.foobar.web.RequestHandler.java
Ogni parte della funzione web
si trova nel pacchetto web
- buona finora. Poiché tutte le classi di pagine sono omogenee e usano lo stesso genitore, è una cattiva pratica metterle in un nuovo sottoprogetto per layer / type per evitare pacchetti apparentemente vuoti? In effetti:
com.foobar.web.pages.AbstractPage.java
com.foobar.web.pages.HomePage.java
com.foobar.web.pages.BuyPage.java
com.foobar.web.pages.SupportPage.java
Sembra quasi che io stia confezionando per feature e poi sub-packaging per strato. Trovo questo difficile da evitare a meno che non metta ogni singola pagina nel proprio pacchetto solitario (ad esempio .home.HomePage.java
, ecc.) Che si sente inutile in quanto sono da soli senza classi aggiuntive nei loro pacchetti.
Che cosa è preferibile, ognuno nel proprio pacchetto .home.HomePage
(solo pacchetto per caratteristica) o tutti omogenei in un unico pacchetto plurale .pages.HomePage
(pacchetto per funzionalità, quindi digitare combinato)?