Passaggio di parametri in JAVA

Una domanda che mi fanno molti o che mi capita di leggere spesso riguardo JAVA e’: “come faccio a passare dei parametri per riferimento?”. La mia risposta e’: “NON SI PUO’!!”.

Ecco un mito da sfatare:

“Gli oggetti sono passati per riferimento, i primitivi per valore” FALSO

In JAVA ogni cosa è passata per valore. Gli oggetti, non vengono passati affatto.
I valori delle variabili sono sempre o primitive o riferimenti, mai oggetti!

Prima di tutto, definiamo cosa significa “passaggio per riferimento”. Una delle definizioni che preferisco e’ quella di Dale King scritta nel ng comp.lang.java.help: “The lvalue of the formal parameter is set to the lvalue of the actual parameter”. Quindi se ad esempio scriviamo questo codice:

Leggi tutto “Passaggio di parametri in JAVA”

Class Adapter – Design Pattern Strutturale

Lo scopo del pattern Adapter è convertire l’interfaccia di una classe in un’altra interfaccia che i client si aspettano.

E’ definito anche Wrapper e rientra nella categoria dei pattern strutturali.

Penso non sia raro ritrovarsi con tante belle classi di libreria e non poterle usare perche’ incompatibili con l’interfaccia richiesta. Ecco che interviene l’adapter.

L’adapter va usato quando subentrano queste motivazioni:

  • una classe di una libreria non puo’ essere usata perche’ incompatibile con l’interfaccia richiesta dalla nostra applicazione
  • non e’ possibile (o non conveniente) cambiare l’interfaccia della libreria
  • non e’ possibile (o non conveniente) cambiare l’applicazione.

I partecipanti in questo Design Pattern sono:

Leggi tutto “Class Adapter – Design Pattern Strutturale”

Singleton – Design Pattern Creazionale

Lo scopo del pattern Singleton è quello di assicurare che una classe ha una sola istanza e provvedere un unico punto di accesso ad essa.

E’ un pattern molto semplice da implementare, ma e’ bene comprendere che non va abusato! Una cosa che cerco di spiegare sempre e’ che un refactoring del codice non introduce benefici solo perche’ e’ stato utilizzato un pattern.

Il Singleton va usato solo quando si verificano queste condizioni:

Leggi tutto “Singleton – Design Pattern Creazionale”