Tengo una aplicación que usa SQLite, que es extremadamente liviana y rápida. Tengo algunas preferencias que no necesariamente tienen que cargarse al inicio, pero es posible que deban usarse varias veces según el destino del usuario. Dicho esto, no puedo decidir dónde almacenar esta información.Aplicación C#: ¿almacenamiento de preferencias en la base de datos o archivo de configuración?
Q1: ¿Debo continuar y almacenarlo en la base de datos? ¿Debo almacenarlo en un archivo de configuración?
P2: ¿Debo cargar y almacenar las preferencias y otros datos en el arranque, incluso si no están necesariamente siendo utilizados de inmediato? ¿O debería consultar la base de datos cuando los necesito?
Ejemplo: Mi aplicación puede almacenar la información de la compañía para la empresa que está utilizando el software. Nombre de la compañía, teléfono de la compañía, etc. La única vez que se usa esta información es cuando el software imprime automáticamente una letra, o el usuario va a editar la información de su compañía en el programa.
EDITAR: Me he dado cuenta de que esto se reduce a la configuración de la aplicación frente a la configuración del usuario. Mi programa no tiene múltiples usuarios por copia del software. Dicho esto, supongo que estos serían los ajustes de la aplicación.
cargando cuando sea necesario la primera vez frente a la carga en el inicio de la aplicación es una preferencia personal. Cargando cuando primero se necesita permite un tiempo de inicio más rápido. Las búsquedas de Singleton como esa (donde lo carga en un singleton en el primer acceso) tienen un impacto insignificante, pero pueden tener un efecto de IU definido. Considere cómo se carga Photoshop (donde carga TODO antes de darle la UI) versus la pausa que obtiene en algunas aplicaciones cuando carga cosas y obtiene esa molesta pantalla de espera por favor. – jcolebrand
@drachenstem Y también puede cargar cosas en segundo plano y dejar que el usuario espere a que se cargue si no está cargado. Al igual que Visual Studio. A veces, el caché de documentación no está construido, pero lo será si lo necesita –
Muy cierto, pero en su mayor parte, los datos que voy a cargar son de un tamaño muy pequeño, el usuario ni siquiera debe darse cuenta. – OogaBooga