Recomendações para manusear entrada/saída

Usar E/S baseada em arquivo ou não vai depender de como você responde às perguntas na seguinte árvore de decisão:

Os dados primários em seu aplicativo residem em um arquivo de disco

  • Sim, os dados primários residem em um arquivo de disco:

    O aplicativo lê o arquivo inteiro na memória em Abrir arquivo e grava todo o arquivo de volta no disco ao Salvar Arquivo

    • Sim: esse é o caso de documento MFC padrão. Use a serialização CDocument.

    • Não: normalmente é o caso da atualização baseada em transações do arquivo. Você atualiza o arquivo por transação e não precisa de serialização CDocument.

  • Não, os dados primários não residem em um arquivo de disco:

    Os dados residem em uma fonte de dados ODBC

    • Sim, os dados residem em uma fonte de dados ODBC:

      Use o suporte de banco de dados do MFC. A implementação padrão do MFC para esse caso inclui um objeto CDatabase, conforme discutido no artigo MFC: usando classes de banco de dados com documentos e modos de exibição. O aplicativo também pode ler e gravar um arquivo auxiliar – a finalidade da opção do assistente de aplicativo "uma exibição de banco de dados e o suporte a arquivos". Nesse caso, você usaria a serialização para o arquivo auxiliar.

    • Não, os dados não residem em uma fonte de dados ODBC.

      Exemplos desse caso: os dados residem em um DBMS não ODBC; os dados são lidos por meio de algum outro mecanismo, como OLE ou DDE.

      Nesses casos, você não usará serialização, e o seu aplicativo não terá itens de menu Abrir e Salvar. Talvez você ainda queira usar um CDocument como base, assim como um aplicativo ODBC do MFC usa o documento para armazenar objetos CRecordset. Mas você não usará a serialização de documentos padrão do Abrir arquivo/Salvar da estrutura.

Para dar suporte aos comandos Abrir, Salvar e Salvar como no menu Arquivo, a estrutura fornece serialização de documentos. A serialização lê e grava dados, incluindo objetos derivados da classe CObject, para armazenamento permanente, normalmente um arquivo de disco. A serialização é fácil de usar e atende a muitas de suas necessidades, mas pode ser inadequada para muitos aplicativos de acesso a dados. Os aplicativos de acesso a dados normalmente atualizam dados por transação. Eles atualizam os registros afetados pela transação em vez de ler e gravar um arquivo de dados inteiro de uma só vez.

Para obter mais informações sobre serialização, consulte Serialização.

Confira também

Serialização: serialização em comparação com entrada/saída do banco de dados