Compartir a través de


Recomendaciones para controlar la entrada y salida

Tanto si usa E/S basada en archivos como si no depende de cómo responda a las preguntas del árbol de decisión siguiente:

¿Los datos principales de la aplicación residen en un archivo de disco?

  • Sí, los datos principales residen en un archivo de disco:

    ¿La aplicación lee todo el archivo en memoria en El archivo abierto y vuelve a escribir todo el archivo en el disco en El guardado de archivos

    • Sí: este es el caso de documento MFC predeterminado. Use CDocument la serialización.

    • No: suele ser el caso de la actualización basada en transacciones del archivo. Actualiza el archivo por transacción y no necesita CDocument serialización.

  • No, los datos principales no residen en un archivo de disco:

    ¿Residen los datos en un origen de datos ODBC?

    • Sí, los datos residen en un origen de datos ODBC:

      Use la compatibilidad con la base de datos de MFC. La implementación estándar de MFC para este caso incluye un CDatabase objeto , como se describe en el artículo MFC: Uso de clases de base de datos con documentos y vistas. La aplicación también puede leer y escribir un archivo auxiliar, el propósito del asistente para aplicaciones "tanto una vista de base de datos como una compatibilidad con archivos". En este caso, usaría la serialización para el archivo auxiliar.

    • No, los datos no residen en un origen de datos ODBC.

      Ejemplos de este caso: los datos residen en un DBMS que no es ODBC; los datos se leen a través de algún otro mecanismo, como OLE o DDE.

      En tales casos, no usará la serialización y la aplicación no tendrá elementos de menú Abrir y Guardar. Es posible que todavía quiera usar como CDocument base principal, al igual que una aplicación ODBC de MFC usa el documento para almacenar CRecordset objetos. Pero no usará la serialización predeterminada de archivos abiertos o guardados del documento del marco.

Para admitir los comandos Abrir, Guardar y Guardar como en el menú Archivo, el marco proporciona serialización de documentos. La serialización lee y escribe datos, incluidos los objetos derivados de la clase CObject, en el almacenamiento permanente, normalmente un archivo de disco. La serialización es fácil de usar y atiende muchas de sus necesidades, pero puede ser inapropiada en muchas aplicaciones de acceso a datos. Las aplicaciones de acceso a datos normalmente actualizan los datos por transacción. Actualizan los registros afectados por la transacción en lugar de leer y escribir un archivo de datos completo a la vez.

Para obtener información sobre la serialización, consulte Serialización.

Consulte también

Serialización: Serialización frente a entrada/salida de bases de datos