Sono spesso confrontato con il problema di memorizzare, in memoria, alcune (eventualmente complesse) impostazioni di configurazione caricate dai file sul filesystem. Mi chiedo se ci sia un modo migliore per progettare un modello per questo problema, rispetto a quello che ho usato.Design Pattern per proprietà di configurazione caricate una tantum?
In sostanza, la mia soluzione attuale prevede tre passaggi.
Costruire un singleton. Poiché i dati sono persistenti e non si verificano cambiamenti durante il runtime dell'applicazione, dovrebbe essere necessaria solo un'istanza di un oggetto.
Quando viene effettuata la prima richiesta per l'oggetto, creare l'oggetto e leggere da un file.
Esporre i dati con getter.
Questo ha l'effetto che un sacco del mio codice è simile al seguente: MyConfiguration.getInstance().getWeightOfBomb()
, che sembra piuttosto strano per me.
C'è un modo migliore per gestirlo in modo più semantico?
Un sacco di volte, ho solo bisogno di racchiudere alcune proprietà di configurazione in piccole app di console (che ho scritto in massa, ultimamente) . Nelle applicazioni più grandi, sebbene (per il quale ho adottato questo modello), questo metodo funziona bene. –