Recentemente ho avuto difficoltà con il concetto di quale struttura di file utilizzare quando si creano i file di salvataggio per le applicazioni desktop. Quando dico "salva-file" intendo qualcosa come i file * .doc. File che contengono il lavoro che l'utente inserisce nel programma e vogliono poter caricare e riprendere il proprio lavoro in un secondo momento.
Cose come la serializzazione binaria sono facili, anche se se e quando il modello per le applicazioni viene ri-fattorizzato o espanso, ciò interrompe (credo) i file salvati con il formato precedente. Cose come XML e JSON sono più resistenti ai cambiamenti futuri, ma mi sento come se stessi cadendo nella trappola dell'uso XML come il mio "martello d'oro" per così dire. Un database sembra eccessivo per praticamente tutte le applicazioni che sviluppo.
Quali sono alcune opzioni comuni, e sono sicuro che ce ne siano molte, che non sto considerando? Puoi descrivere quando ciascuna di queste opzioni è meglio utilizzata e perché è la scelta migliore?