Saving modelo MFC como banco de dados SQLite
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?
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.