Ecco alcune considerazioni non menzionate finora, che possono o non possono essere rilevanti, a seconda dell'applicazione che vorresti usare per questo.
Controllo di integrità della configurazione
Con un singolo file di configurazione, prendi un hash crittografico. Fatto. Se differisce la prossima volta che leggi il file, allora sai che è stato modificato manualmente o danneggiato.
Con una configurazione basata su file system, è necessario attraversare l'intero albero, leggendo gli oggetti in un ordine specificato prima di alimentarli uno alla volta nell'hash. Non solo il contenuto del file, ma anche i nomi di directory e file. Un bel po 'di cose da fare.
Relativo a questo,
Robustezza
Anche se hai dei controlli di integrità, c'è molto di più che potrebbe andare storto in un file system. Pensa solo a un utente che guarda attraverso i file, spostando alcuni file / directory in altre posizioni, con i suoi movimenti del mouse poco inquietanti e un dito nervoso.
Come gestiresti un collegamento a una directory padre che ti getta in un loop infinito quando lo attraversi senza controllo. Con il giusto danneggiamento che non viene controllato dalla tua applicazione, potrebbe anche essere reso completamente danneggiato, richiedendo una disinstallazione, una pulizia manuale e una reinstallazione.
Un backup di un file di configurazione danneggiato è molto più facile da ripristinare.
Parlando di backup,
Potenti utenti e amministratori
Cosa potrebbero volere fare?
- Modificalo in modi che sono utili, ma non è possibile con le finestre di dialogo di configurazione incorporate.
- Backup e ripristino della configurazione.
- Esporta / importa la configurazione
- Trasferisci la configurazione ad un amico o alla loro seconda macchina.
- Implementazione di una configurazione obbligatoria su un numero elevato di macchine e utenti.
Con un singolo file di configurazione basato su testo, tutto ciò che serve è già incorporato nel sistema operativo: copia, sposta e rinomina i file, un editor di testo, copia e incolla. Il trasferimento è facile come allegare un file a una posta.
Con il filesystem, tutto ciò che non è fornito dalla tua applicazione è difficile da fare. Modifica manuale di un'opzione di testo? Meglio stare attenti a non aggiungere un End of Line aggiuntivo. Modifica di un'opzione binaria? Hmm, editor esadecimale?
Trasferisci la configurazione per posta? Hai bisogno di strumenti aggiuntivi: crea un file zip e collegalo. Quindi sperare che le opzioni binarie al suo interno non attivino lo scanner dei virus della posta e che riescano a passare.
Per tutti gli scopi pratici, una configurazione basata su filesystem è valida come una scatola nera per un non programmatore.
MODIFICA: Dimensione del cluster
Un file separato per ciascuna opzione può utilizzare un bel po 'di spazio su disco. Quando ogni opzione da 5 byte mangia un cluster completo da 64 KB e ne hai molti ... Fai i conti.