Pergunta

Eu estou jogando com um aplicativo CAD usando MFC. Eu estava pensando que seria bom para salvar o documento (modelo) como um banco de dados SQLite.

Vantagens:

  • I formato de arquivo Evite mudanças (SQLite cuida disso)
  • mecanismo de consulta grátis
  • Desfazer pilha é simplificado (nome da tabela, nome da coluna, novo valor e assim por diante ...)

Opiniões?

Foi útil?

Solução

Esta é uma idéia bem. SQLite é muito agradável para trabalho com!

Mas lembre-se do velho truísmo (eu não posso obter uma resposta autoritária do Google sobre onde originalmente é de) que armazenar seus dados em um banco de dados relacional é como estacionar seu carro dirigindo mais para a garagem, desmontá-lo e, colocando cada peça em um gabinete rotulados.

dados geométricos, consistindo de pontos e linhas e segmentos que se referem um ao outro pelo nome, é um bom candidato para o armazenamento em tabelas de banco de dados. Mas quando você começa a ter objetos compostos, com uma hierarquia de subcomponentes, pode exigir muito menos código apenas para uso serialização e armazenar / carregar o modelo com uma única chamada.

Assim que seria uma idéia muito fina.

Mas a serialização em MFC não é quase tanto quanto de uma vitória, pois é, digamos, C #, etc. equilíbrio eu iria em frente e uso SQL.

Outras dicas

Esta é uma ótima idéia, mas antes de começar eu tenho algumas recomendações:

  • Tenha cuidado para que cada banco de dados é exclusivamente identificável de alguma forma além do nome de arquivo, como ter uma tabela que descreve o arquivo no banco de dados.

  • Dê uma olhada em alguns dos exemplos baseados MFC e invólucros já disponíveis antes de criar o seu próprio. Os que eu vi tinha emprestado em cada um para criar um melhor resultado. Google:. MFC SQLite Wrapper

  • Usando o banco de dados SQLite também é útil para manter o estado. Pense adiante sobre como você iria gerir tendo em mente as funcionalidades incluídas e estão faltando no SQLite.

  • Você também pode pensar agora sobre como você pode estender seu aplicativo para a web por ter certeza que a estrutura da tabela de banco de dados é facilmente exportável para outro Systems-banco de dados SQL, bem como fácil o suficiente para estender a um sistema de backup.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top