Bagikan melalui


Rekomendasi untuk Menangani Input/Output

Apakah Anda menggunakan I/O berbasis file atau tidak tergantung pada cara Anda menanggapi pertanyaan di pohon keputusan berikut:

Apakah data utama dalam aplikasi Anda berada dalam file disk

  • Ya, data utama berada dalam file disk:

    Apakah aplikasi membaca seluruh file ke dalam memori pada File Terbuka dan menulis seluruh file kembali ke disk pada File Simpan

    • Ya: Ini adalah kasus dokumen MFC default. Gunakan CDocument serialisasi.

    • Tidak: Ini biasanya kasus pembaruan file berbasis transaksi. Anda memperbarui file berdasarkan per transaksi dan tidak memerlukan CDocument serialisasi.

  • Tidak, data utama tidak berada dalam file disk:

    Apakah data berada di sumber data ODBC

    • Ya, data berada di sumber data ODBC:

      Gunakan dukungan database MFC. Implementasi MFC standar untuk kasus ini mencakup objek, seperti yang CDatabase dibahas dalam artikel MFC: Menggunakan Kelas Database dengan Dokumen dan Tampilan. Aplikasi mungkin juga membaca dan menulis file tambahan — tujuan wizard aplikasi "tampilan database dan dukungan file". Dalam hal ini, Anda akan menggunakan serialisasi untuk file tambahan.

    • Tidak, data tidak berada di sumber data ODBC.

      Contoh kasus ini: data berada di DBMS non-ODBC; data dibaca melalui beberapa mekanisme lain, seperti OLE atau DDE.

      Dalam kasus seperti itu, Anda tidak akan menggunakan serialisasi, dan aplikasi Anda tidak akan memiliki item menu Buka dan Simpan. Anda mungkin masih ingin menggunakan CDocument sebagai home base, sama seperti aplikasi MFC ODBC menggunakan dokumen untuk menyimpan CRecordset objek. Tetapi Anda tidak akan menggunakan serialisasi dokumen File Open/Save default kerangka kerja.

Untuk mendukung perintah Buka, Simpan, dan Simpan Sebagai pada menu File, kerangka kerja menyediakan serialisasi dokumen. Serialisasi membaca dan menulis data, termasuk objek yang berasal dari kelas CObject, ke penyimpanan permanen, biasanya file disk. Serialisasi mudah digunakan dan melayani banyak kebutuhan Anda, tetapi mungkin tidak pantas dalam banyak aplikasi akses data. Aplikasi akses data biasanya memperbarui data berdasarkan per transaksi. Mereka memperbarui catatan yang terpengaruh oleh transaksi daripada membaca dan menulis seluruh file data sekaligus.

Untuk informasi tentang serialisasi, lihat Serialisasi.

Baca juga

Serialisasi: Serialisasi vs. Input/Output Database