Partilhar via


Recomendações para lidar com entrada/saída

Se você usa E/S baseada em arquivo ou não, depende 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ê todo o arquivo na memória em File Open e grava todo o arquivo de volta ao disco em File Save

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

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

  • 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 ao banco de dados do MFC. A implementação MFC padrão para este caso inclui um CDatabase objeto, conforme discutido no artigo MFC: Usando classes de banco de dados com documentos e exibições. A aplicação também pode ler e gravar um ficheiro auxiliar — o propósito da opção do assistente de aplicação "tanto uma visualização de base de dados como suporte a ficheiros". 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 deste caso: os dados residem em um DBMS não-ODBC; os dados são lidos através de algum outro mecanismo, como OLE ou DDE.

      Nesses casos, você não usará a serialização e seu aplicativo não terá itens de menu Abrir e Salvar. Você ainda pode querer usar um CDocument como base base, assim como um aplicativo ODBC MFC usa o documento para armazenar CRecordset objetos. Mas você não usará a serialização de documento padrão File Open/Save da estrutura.

Para suportar os 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 em muitos aplicativos de acesso a dados. Os aplicativos de acesso a dados normalmente atualizam os 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 informações sobre serialização, consulte Serialização.

Ver também

Serialização: Serialização vs. Entrada/Saída de Banco de Dados