Pregunta

Estoy jugando con una aplicación CAD usando MFC. Estaba pensando que sería bueno guardar el documento (modelo) como una base de datos SQLite.

Ventajas:

  • Evito los cambios de formato de archivo (SQLite se encarga de eso)
  • motor de consulta libre
  • La pila de deshacer está simplificada (nombre de tabla, nombre de columna, nuevo valor y así sucesivamente ...)

Opiniones?

¿Fue útil?

Solución

Esta es una buena idea. ¡Es muy agradable trabajar con Sqlite!

Pero recuerde la vieja verdad (no puedo obtener una respuesta autorizada de Google acerca de dónde proviene originalmente) que almacenar sus datos en una base de datos relacional es como estacionar su auto y llevarlo al garaje, desarmarlo y poniendo cada pieza en un gabinete etiquetado.

Los datos geométricos, que consisten en puntos, líneas y segmentos que se refieren entre sí por su nombre, son un buen candidato para almacenar en tablas de bases de datos. Pero cuando comienza a tener objetos compuestos, con una jerarquía de subcomponentes, puede requerir mucho menos código solo para usar la serialización y almacenar / cargar el modelo con una sola llamada.

Así que también sería una buena idea.

Pero la serialización en MFC no es tanto una ganancia como lo es en, digamos, C #, así que en general seguiría y usaría SQL.

Otros consejos

Esta es una gran idea, pero antes de comenzar, tengo algunas recomendaciones:

  • Tenga cuidado de que cada base de datos se pueda identificar de manera única, además del nombre del archivo, como tener una tabla que describa el archivo dentro de la base de datos.

  • Echa un vistazo a algunos de los ejemplos y envoltorios basados ??en MFC que ya están disponibles antes de crear el tuyo. Los que he visto se tomaron prestados en cada uno para crear un mejor resultado. Google: MFC SQLite Wrapper.

  • El uso de la base de datos SQLite también es útil para mantener el estado. Piense de antemano sobre cómo manejaría teniendo en cuenta qué funciones están incluidas y faltan en SQLite.

  • También puede pensar ahora en cómo puede extender su aplicación a la web asegurándose de que la estructura de la tabla de su base de datos sea fácilmente exportable a otros sistemas de bases de datos SQL, así como lo suficientemente fácil de extender a un sistema de respaldo. / p>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top