Compartir a través de


Recomendaciones para el control de entrada/salida

Tanto si usas I/O basada en archivos como si no, depende de cómo respondas 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 escribe todo el archivo en el disco en el guardado de archivos

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

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

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

    Los datos residen en un origen de datos ODBC

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

      Usa la compatibilidad con la base de datos de MFC. La implementación estándar de MFC para este caso incluye un objeto CDatabase, 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ás la serialización y la aplicación no tendrá elementos de menú Abrir y Guardar. Es posible que todavía quieras usar un elemento CDocument como base principal, al igual que una aplicación ODBC de MFC usa el documento para almacenar objetos CRecordset. Pero no usarás 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 almacenamiento permanente, normalmente un archivo de disco. La serialización es fácil de usar y sirve para muchas de tus 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 más información acerca de la serialización, vea Serialización.

Consulte también

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