java.util.prefs.Preferences è appropriato per accedere alle modifiche di stato che devono essere immediatamente accessibili durante il runtime?

0

Nella mia applicazione, al momento sto creando una singola istanza di un oggetto UserPrefs all'avvio, quindi passa un riferimento a quell'oggetto a più altri oggetti tramite i loro costruttori.

Lo sto facendo perché è importante che più classi abbiano accesso immediato a tutte le modifiche in tempo reale che l'utente fa alle sue preferenze durante il runtime.

Il problema è che passare questo oggetto a molti costruttori diversi mi sembra complicato, e mi piacerebbe allontanarmi da questo. Quindi mi interessa possibilmente usare l'API java.util.prefs.Preferences in ogni classe che ha bisogno di accedere a queste informazioni. Ma ho l'impressione che l'API Preferences sia più comunemente utilizzata per salvare semplicemente un'istantanea delle preferenze dell'utente all'arresto delle applicazioni, quindi per caricarle nuovamente all'avvio.

Quindi la mia domanda è: java.util.prefs.Preferences sarebbe appropriato in questa situazione? In caso contrario, c'è un altro modo in cui posso condividere lo stato delle preferenze in tempo reale su più classi?

    
posta Bri 15.02.2014 - 06:09
fonte

1 risposta

0

Come suggerisce la documentazione,

This class allows applications to store and retrieve user and system preference and configuration data. This data is stored persistently in an implementation-dependent backing store. ... The user of this class needn't be concerned with details of the backing store.

Quindi questa classe è fondamentale per archiviare e recuperare in modo sicuro informazioni specifiche. Non sarebbe in grado di soddisfare le tue esigenze in termini di notifica di altri oggetti di modifiche.

Ti suggerisco di dare un'occhiata al schema di progettazione degli osservatori . Permette a un oggetto di mantenere un elenco di "osservatori", che devono essere notificati se lo stato dell'oggetto cambia. Quindi questo oggetto deve essere passato a diversi costruttori, avrai un posto dove gestire le modifiche di stato e notificare gli oggetti interessati.

    
risposta data 15.02.2014 - 11:51
fonte

Leggi altre domande sui tag