Certo! Innanzitutto devi pensare ad una "radice" che consenta di qualificare i tuoi tipi in modo da evitare il più possibile potenziali conflitti (nonché confusioni) con nomi di altre classi in applicazioni/librerie/framework già esistenti (che potresti aver usato nel tuo progetto o no). Non è solo una questione di conflitti "tecnici" a livello di compilazione ... serve anche per rendere unici i tuoi tipi ed evitare qualunque confusione a chi dovesse vedere i tuoi sorgenti e/o la documentazione.Originariamente inviato da Cosmy
Ma quindi, deviando un po' dall'argomento del topic che ora ho ben digerito, quando ha senso strutturare un package su più livelli?
Se ad esempio sto sviluppando un'applicazione secondo un pattern tipo ModelloVistaControllore, potrebbe avere un senso dividere le classi delle tre diverse funzionalità in diversi sotto-livelli del package?
La convenzione/prassi comune è quella di usare i nomi di dominio in modo "inverso". Se sei il proprietario del dominio cosmy.com, allora una ottima radice sarebbe "com.cosmy".
Sotto questa "radice" generalmente c'è il nome della applicazione/libreria. A quel punto devi pensare alle funzionalità che ci sono nella tua applicazione/libreria. Immagina di voler fare una applicazione per il gioco della Dama e vuoi usare il pattern MVC. Allora potresti avere i package.
com.cosmy.dama.model
com.cosmy.dama.view
com.cosmy.dama.controller
Hai ad esempio classi di "utilità" varie? Allora puoi metterle in un package com.cosmy.dama.util. Hai delle classi che si occupano di fare qualche I/O? Allora puoi metterle in un package com.cosmy.dama.io

Rispondi quotando
