View Full Version : organizzazione classi java(JSP_JAVA)
prazision
22-12-2004, 18:17
Ho fatto un sito con una serie di pagine jsp(girano su tomcat5-apache) che contengono codice scritto in maniera procedurale senza cioè l’utilizzo di beans o classi java
Ora volevo riorganizzare il tutto utilizzando delle classi java .
La mia idea era organizzare le classi in questa maniera: per ogni gruppo di pagine(che sono organizzate già in gruppi appunto) fare 1 classe con una serie dei metodi non statici (mi sembra + corretto usare dei metodi non statici) che eseguono operazioni sul db tipo delete, piuttosto che lanciare delle stored procedure o ancora metodi che scrivono e leggono dal fyle system.
In ogni pagina poi istanziare un oggetto di questa classe e via via richiamare i metodi.
E’ una maniera corretta di organizzare le classi o è una gran boiata??
grazie
Originariamente inviato da prazision
E’ una maniera corretta di organizzare le classi o è una gran boiata??
diciamo che all'interno di una jsp la programmazione e' forzatamente procedurale. Il layer in cui puoi sfruttare i vantaggi di un linguaggio di programmazione orientato agli oggetti è quello che tratta i dati, ovvero il livello di persistenza (su filesystem o su database non ha importanza).
Per fare ciò una volta ognuno scriveva il proprio codice, creando oggetti che rispecchiassero piu' o meno i dati che si mettono su db, ognuno dotato della propria implementazione di insert(), update(), delete() ecc.ecc.
Da un po' di tempo sono utilizzati dei prodotti che si occupano di creare una rappresentazione java dei dati sottostanti, con ottimi risultati per quanto riguarda efficienza e rapidità di sviluppo (una volta che ci hai preso la mano).
Il mio consiglio è di provare a darci un occhio, alla lunga ripagano abbondantemente del tempo necessario allo "startup".
i piu' utilizzati sono probabilmente hibernate, castor e ojb
prazision
22-12-2004, 19:20
ok grazie, appena avro' tempo guardero'.
ma volendo usare delle classi java all'interno del mio sito ti sembra buona l'idea di organizzare le classi nella maniera da me descritta nel post precedente oppure hai altri suggerimenti(sempre relativi all'organizzazione delle classi)?
grazie
pipozzolo
22-12-2004, 20:21
Secondo me è meglio individuare delle macrofunzionalità (es Registrazione etc etc) e creare una classe per ogni macrofunzionalità e separare gli oggetti che contengono le informazioni dai metodi che li vanno a popolare dal db o altro.
Se possibile tenta di creare delle classi base per tutte le classi che si comportano allo stesso modo (es classi di accesso al db etc).
Credo che sia giusto evitare i metodi statici fin quando possibile perchè ostacolano la riusabilità e la strutturazione ad oggetti del codice.
Ciao
prazision
22-12-2004, 20:43
Originariamente inviato da pipozzolo
Secondo me è meglio individuare delle macrofunzionalità (es Registrazione etc etc) e creare una classe per ogni macrofunzionalità e separare gli oggetti che contengono le informazioni dai metodi che li vanno a popolare dal db o altro.
Se possibile tenta di creare delle classi base per tutte le classi che si comportano allo stesso modo (es classi di accesso al db etc).
Credo che sia giusto evitare i metodi statici fin quando possibile perchè ostacolano la riusabilità e la strutturazione ad oggetti del codice.
Ciao
Beh ma volendo organizzare come ho detto io(classi che gestiscono un gruppo di pagine) ho gia individuato delle macrofunzionalità(il gruppo di pagine riguardano infatti +o- la stessa funzione); al massimo all'interno di una funzionalità potrei distinguere tra classi che si occupano di interagire col db, classi che invece agiscono sul file system ecc.
"separare gli oggetti che contengono le informazioni dai metodi che li vanno a popolare dal db o altro" cosa significa di preciso?
faccio un esempio dimmi se è corretto: in una classe A metto tutti i metodi che interagiscono col db ; tali metodi non buttano subito fuori in output i dati ricavati ma li scrivono in un'istanza di un'altra classe B.
per ricavarmi i dati dalla pagina jsp usero' poi dei metodi della classe B.
Perche i metodi statici "ostacolano la riusabilità e la strutturazione ad oggetti del codice"???(questa domanda è poco importante, se vai di fretta non te guardare proprio.)
grazie mille cmq
pipozzolo
22-12-2004, 21:12
Originariamente inviato da prazision
Beh ma volendo organizzare come ho detto io(classi che gestiscono un gruppo di pagine) ho gi individuato delle macrofunzionalità(il gruppo di pagine riguardano infatti +o- la stessa funzione); al massimo all'interno di una funzionalità potrei distinguere tra classi che si occupano di interagire col db, classi che invece agiscono sul file system ecc.
Ok :)
"separare gli oggetti che contengono le informazioni dai metodi che li vanno a popolare dal db o altro" cosa significa di preciso?
faccio un esempio dimmi se è corretto: in una classe A metto tutti i metodi che interagiscono col db ; tali metodi non buttano subito fuori in output i dati ricavati ma li scrivono in un'istanza di un'altra classe B.
per ricavarmi i dati dalla pagina jsp usero' poi dei metodi della classe B.
Ad esempio, se hai una classe che descrive un utente che chiameremo Utente :) (username, Nome, Cognome etc) io preferisco non mettere nella stessa classe i metodi che lo valorizzano da DB, ma creare una classe UtenteManager che presenta i metodi cancellaUtente, creaUtente etc etc etc
Non so, poi ognuno ha le sue strategie.
Perche i metodi statici "ostacolano la riusabilità e la strutturazione ad oggetti del codice"???(questa domanda è poco importante, se vai di fretta non te guardare proprio.
grazie mille cmq
E' un pò difficile da spiegare...
praticamente, non essendo legati ad un'istanza di oggetto in particolare, non se ne può fare ad esempio l'override in una sottoclasse.
Ci sono dei casi nei quali vanno usati praticamente per forza (es molte funzioni tra stringhe sono statiche) ma è bene usarli sono quando effettivamente serve, stando attenti soprattutto in classi che potranno essere ereditate.
prazision
22-12-2004, 21:24
Originariamente inviato da pipozzolo
Ad esempio, se hai una classe che descrive un utente che chiameremo Utente :) (username, Nome, Cognome etc) io preferisco non mettere nella stessa classe i metodi che lo valorizzano da DB, ma creare una classe UtenteManager che presenta i metodi cancellaUtente, creaUtente etc etc etc
Non so, poi ognuno ha le sue strategie.
beh non mi sembra molto diverso da quando io dico"in una classe A metto tutti i metodi che interagiscono col db ; tali metodi non buttano subito fuori in output i dati ricavati ma li scrivono in un'istanza di un'altra classe B.
per ricavarmi i dati dalla pagina jsp usero' poi dei metodi della classe B. "
o mi sbaglio??
grazie infinite
pipozzolo
22-12-2004, 21:40
Originariamente inviato da prazision
beh non mi sembra molto diverso da quando io dico"in una classe A metto tutti i metodi che interagiscono col db ; tali metodi non buttano subito fuori in output i dati ricavati ma li scrivono in un'istanza di un'altra classe B.
per ricavarmi i dati dalla pagina jsp usero' poi dei metodi della classe B. "
o mi sbaglio??
grazie infinite
Si si scusa non ho confermato :D
prazision
22-12-2004, 22:01
grazie x la collaborazione
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.