Doporučení pro zpracování vstupu a výstupu
Bez ohledu na to, jestli používáte vstupně-výstupní operace založené na souborech nebo ne, závisí na tom, jak odpovídáte na otázky v následujícím rozhodovacím stromu:
Nachází se primární data v aplikaci v souboru disku.
Ano, primární data se nacházejí v souboru disku:
Čte aplikace celý soubor do paměti při otevření souboru a zapisuje celý soubor zpět na disk při ukládání souborů.
Ano: Toto je výchozí případ dokumentu MFC. Použijte
CDocument
serializaci.Ne: Obvykle se jedná o případ aktualizace souboru na základě transakcí. Soubor aktualizujete na základě jednotlivých transakcí a nepotřebujete
CDocument
serializaci.
Ne, primární data se nenachází v souboru disku:
Nachází se data ve zdroji dat ODBC.
Ano, data se nacházejí ve zdroji dat ODBC:
Použijte podporu databáze MFC. Standardní implementace MFC pro tento případ zahrnuje
CDatabase
objekt, jak je popsáno v článku MFC: Použití databázových tříd s dokumenty a zobrazeními. Aplikace může také číst a zapisovat pomocný soubor – účel průvodce aplikací "zobrazení databáze i podpora souborů". V tomto případě byste pro pomocný soubor použili serializaci.Ne, data se nenachází ve zdroji dat ODBC.
Příklady tohoto případu: Data se nacházejí v databázi bez rozhraní ODBC DBMS; data se čtou prostřednictvím jiného mechanismu, jako je OLE nebo DDE.
V takových případech nebudete používat serializaci a aplikace nebude obsahovat položky nabídky Otevřít a Uložit. Stále můžete chtít použít jako domovskou základnu
CDocument
, stejně jako aplikace MFC ODBC používá dokument k ukládáníCRecordset
objektů. Nebudete ale používat výchozí serializaci dokumentu Open/Save v rámci.
Pro podporu příkazů Otevřít, Uložit a Uložit jako v nabídce Soubor poskytuje rozhraní serializaci dokumentů. Serializace čte a zapisuje data, včetně objektů odvozených z třídy CObject
, do trvalého úložiště, obvykle souboru disku. Serializace je snadno použitelná a obsluhuje mnoho vašich potřeb, ale v mnoha aplikacích pro přístup k datům může být nevhodné. Aplikace pro přístup k datům obvykle aktualizují data na základě transakcí. Aktualizují záznamy ovlivněné transakcí místo čtení a zápisu celého datového souboru najednou.
Informace o serializaci naleznete v tématu Serializace.