Suggerimenti per la gestione di input/output

L'uso o meno di operazioni di I/O basate su file dipende dalla modalità di risposta alle domande nell'albero delle decisioni seguente:

I dati primari nell'applicazione risiedono in un file del disco

  • Sì, i dati primari si trovano in un file del disco:

    L'applicazione legge l'intero file in memoria in File Open e scrive l'intero file su disco in File Save

    • Sì: questo è il caso del documento MFC predefinito. Usare CDocument la serializzazione.

    • No: questo è in genere il caso dell'aggiornamento basato sulle transazioni del file. Il file viene aggiornato in base alla transazione e non è necessaria CDocument la serializzazione.

  • No, i dati primari non si trovano in un file su disco:

    I dati si trovano in un'origine dati ODBC

    • Sì, i dati si trovano in un'origine dati ODBC:

      Usare il supporto del database MFC. L'implementazione MFC standard per questo caso include un CDatabase oggetto , come illustrato nell'articolo MFC: Uso di classi di database con documenti e viste. L'applicazione potrebbe anche leggere e scrivere un file ausiliario, lo scopo della procedura guidata dell'applicazione "sia una visualizzazione del database che un supporto file". In questo caso, si userà la serializzazione per il file ausiliario.

    • No, i dati non si trovano in un'origine dati ODBC.

      Esempi di questo caso: i dati si trovano in un DBMS non ODBC; i dati vengono letti tramite un altro meccanismo, ad esempio OLE o DDE.

      In questi casi, non si userà la serializzazione e l'applicazione non avrà voci di menu Apri e Salva. È comunque consigliabile usare come CDocument home base, proprio come un'applicazione ODBC MFC usa il documento per archiviare CRecordset gli oggetti. Ma non si userà la serializzazione predefinita di File Open/Save del framework.

Per supportare i comandi Apri, Salva e Salva con nome nel menu File, il framework fornisce la serializzazione dei documenti. La serializzazione legge e scrive i dati, inclusi gli oggetti derivati dalla classe CObject, nell'archiviazione permanente, in genere un file su disco. La serializzazione è facile da usare e soddisfa molte delle proprie esigenze, ma può risultare inappropriata in molte applicazioni di accesso ai dati. Le applicazioni di accesso ai dati in genere aggiornano i dati in base alle transazioni. Aggiornano i record interessati dalla transazione anziché leggere e scrivere un intero file di dati contemporaneamente.

Per informazioni sulla serializzazione, vedere Serializzazione.

Vedi anche

Serializzazione: serializzazione e input/output del database