Ho una classe che in realtà non specifica alcun oggetto reale da sola ma è più di una classe di utilità. Ha alcuni dati la cui inizializzazione è costosa. Vedo due opzioni su come memorizzare i dati:
-
Memorizzalo in una variabile statica (inizializzata in un blocco statico).
- Pro : posso chiamare i metodi di utilità senza dover creare un istanza di questa classe.
- Con : viene eseguito il pesante codice di inizializzazione quando la classe è caricata, indipendentemente dal fatto che sia usata o meno.
-
Memorizzalo in una variabile di istanza (inizializzata nel costruttore) :
- Pro : la pesante inizializzazione viene eseguita solo se la classe viene utilizzata.
- Con : In questo caso dovrò creare un oggetto della classe e quindi chiamare i metodi di utilità attraverso questo oggetto. Dovrò anche evitare di creare più oggetti della classe di utilità.
Quale di questi due approcci è migliore?