Progettazione del livello del modello per essere serializzabile

0

Sto creando una semplice applicazione desktop in javaFX 8 e vorrei poter salvare lo stato del modello e caricarlo al prossimo avvio dell'applicazione. Pertanto, sto implementando l'interfaccia Serializable con tutte le mie classi di modelli personalizzati. Prima erano puri POJO.

Ma nell'applicazione javaFX quando voglio associare il modello all'IU, devo avere ad esempio StringProperty variabili invece di semplice String .

Mi sono reso conto che queste variabili di proprietà non implementano l'interfaccia per la serializzazione. Sto pensando

  • separa i POJO puliti e poi crea i wrapper con ObesrvableProperty variabili per l'interfaccia utente
  • duplica le variabili nella stessa classe e contrassegna in qualche modo le variabili di proprietà come transitorie per la serializzazione
  • adottare altra tecnica di serializzazione manuale

Qual è la migliore / pratica generale qui?

    
posta Zavael 24.07.2015 - 14:29
fonte

1 risposta

2

Un approccio comune consiste nel progettare il modello dell'applicazione in un modo completamente indipendente dal framework dell'interfaccia utente, quindi implementare un adattatore tra i due. Ciò consente alla tua applicazione di trattare la sua UI come un plug-in, il che può essere utile (sia per testare che per aggiungere in seguito funzionalità che potrebbero beneficiare di un'interfaccia utente diversa, ad esempio mobile). Puoi anche fare la stessa cosa per la persistenza e tutte le altre dipendenze che hai.

Questo approccio ha ricevuto vari nomi (ad es. "architettura pulita" di Robert Martin, "architettura esagonale" di Alistair Cockburn).

Lo svantaggio è, naturalmente, una maggiore complessità.

    
risposta data 24.07.2015 - 16:30
fonte

Leggi altre domande sui tag