Dato che sto lavorando su un server che non ha assolutamente nessuno stato persistente per gli utenti, ogni oggetto relativo all'utente che abbiamo viene distribuito su ogni richiesta.
Di conseguenza spesso mi trovo a fare un'inizializzazione pigra delle proprietà degli oggetti che potrebbero non essere utilizzate.
protected EventDispatcher dispatcher = new EventDispatcher();
Diventa ...
protected EventDispatcher<EventMessage> dispatcher;
public EventDispatcher<EventMessage> getEventDispatcher() {
if (dispatcher == null) {
dispatcher = new EventDispatcher<EventMessage>();
}
return dispatcher;
}
C'è qualche ragione per cui questo non possa essere integrato in Java?
protected lazy EventDispatcher dispatcher = new EventDispatcher();
Come accennato nei commenti, mi rendo conto che un linguaggio potrebbe teoricamente evolversi per includere la maggior parte di ciò che desideri. Sto cercando una misura pratica di possibilità. Questo conflitto con altre caratteristiche? L'implementazione è abbastanza semplice da funzionare correttamente con JVM? E anche, è una buona idea?