Newsgroup: it.comp.java
Titolo: Programmazione ad oggetti; metodi statici

Chiedo il vostro aiuto sul concetto di programmazione ad oggetti.
In una pagina jsp richiamo una classe che possiede dei metodi per elaborare
delle stringhe che vengono passate ai metodi stessi.
In pratica , questa classe che possiede un insieme di metodi per elaborare
delle Stringhe
e' costituita da un insieme di m,etodi statici (non ci sono variabili di
classe ovviamente).
Mi chiedo se questo modo di procedere č corretto. In fondo, la mia classe
con metodi statici
non e' altro che un insieme di funzioni globali...
Mi succede che ho' sempre questo timore di istanziare degli oggetti perche'
immagino che in
una applicazione web ci siano talmente tanti oggett creati!!!!
Quindi di solito uso i classici beancon scope variabile ma per le altre
classi tendo sempre ad usare metodi
statici!
Ma secondo voi e' l'approccio corretto o sono troppo condizionato dal fatto
che provengo da
un linguaggio procedurale ?
Grazie!

 una applicazione web ci siano talmente tanti oggett creati!!!!
Se gli oggetti non li memorizzi nella sessione o nell'application,
non hai problemi: il garbage collector te li distrugge.
Se li memorizzi invece nella sessione, restano attivi fino al
time-out
della session.
Se li memorizzi nell'application, devi stare attento.
Ciao,
GianpieroP
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0
iQA/AwUBQDiIGZ4sPKh9SaicEQJXCQCeJTE1juSYWdodgcbXyqNZIp1/7zEAn1PN
am/DyyDZZie7VgkD4TKmuIeV
=QRsM
-----END PGP SIGNATURE-----

 statici!
Questo timore è comprensibile, ma non  *giustifica*  un utilizzo alla cieca
di classi con soli metodi statici.
Se hai paura di esaurire la memoria (credo sia questo il tuo timore), devi
cercare di creare oggetti che siano quanto più possibile "snelli"; tieni
comunque presente che oggetti creati "al volo" per le necessità
di una singola request muoiono con esse, è difficile saturare la memoria del
tuo server di applicazioni con delle nuove allocazioni. Vedo piuttosto più
probabile questo rischio memorizzando su sessione troppi dati
(nel numero e/o nelle dimensioni), lavorando senza una politica "accorta".
Saluti,
Scorpio.

 che provengo da un linguaggio procedurale ?
Java vive nella filosofia che "everything is an object" e questo 
all'atto pratico mostra i limiti opposti del procedurale. Quella di 
usare metodi statici è una soluzione per venire incontro a questi 
limiti. Tuttavia, come tu giustamente osservi, in linea teorica un 
programma potrebbe essere scritto esclusivamente con metodi statici, 
quindi per chi "pensa" in procedurale c'è il rischio di abuso. Il 
rischio è che l'uso/abuso di metodi statici sia dovuto ad un errore di 
design.
Suggerisco due tecniche di studio: primo, analizzare come sono 
implementate le api di java e le varie librerie "famose" che si trovano 
in rete, con un minimo di astrazione mentale si individuano soluzioni 
simili a quella che si sta realizzando e si può vedere come è stata 
realizzata (dal punto di vista progettuale); secondo, una buona 
documentazione sui design pattern.
Per quanto riguarda le istanze degli oggetti, certo può essere un 
problema ma ricordiamoci che il garbage collector di java funziona... 
l'importante è che gli oggetti abbiano lo scope giusto e non si forzi la 
persistenza più del necessario.

 ha scritto nel messaggio
news:IO1_b.5193$gk.2...@news3.tin.it...

Grazie per le risposte.
una curiosita':
si puo' vedere come sono implementate le api di java?
pensavo fosse sotto copyright sun.
Parli del sito tipo jakarta?
scusate se faccio domande un po' sceme ma sono agli inizi

 pensavo fosse sotto copyright sun.
Esistono anche i sorgenti, ma non mi riferivo a questo. Mi riferivo al 
design che lo valuti anche senza i sorgenti.