Newsgroup: it.comp.java
Titolo: Domanda di un novizio sui package

Ciao a tutti, sto facendo i primi classici progettini di prova per 
impratichirmi col linguaggio Java e ho un dubbio sull'utilizzo dei package.
Che criterio è bene iniziare da subito ad usare riguardo l'uso dei 
package? Ad esempio, se implemento un semplice schedario di studenti 
inizierò a progettare, quindi ad implementare, una classe Studente e so 
già (per via del tipo di progetto che sto realizzando) che la utilizzerò 
all'interno di una classe SchedarioStudenti.
Metto le varie classi in un unico package che potrei ad esempio chiamare 
schedario_studenti o concettualmente sono due package distinti uno per 
Studente e uno per SchedarioStudenti e importerò il primo package nel 
secondo?
Il package di default (nessuna indicazione di package) ho letto che 
sarebbe preferibile non usarlo quindi di norma se ho ben capito sarebbe 
bene mettere sempre le nostre classi, per quanto semplici, in un package.
  ciao e grazie anticipatamente per le risposte
-- 
Google Image Labeler cumulative score: 74570

 
Ho un altro dubbio, questa volta meno riguardo i package quanto 
piuttosto i progetti di un ambiente IDE usato per programmare in Java.
Usando un IDE (Eclipse) tendo a creare dei progetti in cui i vari 
package che contengono le classi che implemento vengono poste in una 
sottodirectory di quella del progetto.
Es: Creo un progetto che chiamo "Progetto1" e implemento delle classi 
che raggruppo in un package che chiamo "package1". Avrň prodotto un 
percorso nel filesystem di questo tipo: 
/LavoriJava/MyProjects/Progetto1/src/package1/
Per il riutilizzo futuro del codice e il migliorare classi passate 
perfezionandole in futuro, se ho dei package che voglio riutilizzare in 
futuro č buona norma creare una directory in cui si depositano i package 
che si riutilizzano piů o meno spesso? Ad esempio a fine progetto 
copiare il "package1" creato durante il lavoro al Progetto1 mettendolo 
in una directory tipo (č un esempio tanto per rendere l'idea):
/LavoriJava/MyPackages/package1/
Cosicchč in futuro per riutilizzare o modificare classi implementate in 
passato eviterei di andare a spulciare nelle directory dei progetti 
creati con l'IDE usato per programmare.
E' una prassi buona/diffusa o č buona usanza fare diversamente?
  ciao e grazie per l'attenzione


Per iniziare raggruppa le tue classi in package per funzionalità e logica.
Ad esempio se hai delle classi che si occupano di gestire connessioni al
db, mettile in un package, se hai classi per l'interfaccia grafica in un
altro, etc.
Luca


 E' una prassi buona/diffusa o è buona usanza fare diversamente?


 
Secondo me all'inizio puoi decidere di tenere il package di utilità solo 
dentro l'applicazione che lo usa.
Poi quando ti accorgi che effettivamente il package può essere 
utilizzato da un'altra applicazione dovresti raccogliere il codice 
comune in una libreria e fare in modo che entrambi i progetti utilizzano 
la libreria, ma se lo fai devi assolutamente prendere in considerazione 
di tenere sotto controllo di versione la libreria.
Prendi quest'esempio:
Lavori sul progetto A che usa la libreria libX, poi passa del tempo e 
lavori sul progetto B che usa anche lui la libreria libX, il progetto A 
non lo tocchi più e intanto fai delle migliorie ad libX, magari 
richieste da B, senza controllo rischi di modificare libX in modo tale 
che il progetto A non funzioni piu'.
Quando riprendi in mano A vedi che non funziona piu' e potresti fare 
fatica a farlo funzionare di nuovo.
-- 
Andrea Francia
http://www.andreafrancia.it/