Serializace v prostředí MFC
Tento článek vysvětluje, že spustí mechanizmus serializace v Microsoft Foundation Class Library (MFC) umožňuje uchovávat mezi objekty aplikace.
Serializace je proces zápisu nebo čtení objektu do nebo z trvalého úložiště média, například souboru na disku.Serializace je ideální pro situace, kde je žádoucí, aby během nebo po spuštění programu udržení stavu strukturovaná data (například C++ třídy nebo struktury).Serializace objektů poskytovaných knihovnou MFC umožňuje ve standardním a konzistentním způsobem uvolnění uživateli třeba provádět operace se soubory ručně.
Knihovna MFC poskytuje integrovanou podporu pro serializaci třídy CObject.Proto všechny třídy odvozené z CObject můžete využít CObjectna protokol serializace.
Základní myšlenkou serializace je objekt by měl být schopni zapisovat jeho současný stav, který je obvykle označen hodnotu své členské proměnné do trvalého úložiště.Později objekt lze znovu vytvořit čtení nebo rekonstrukci objektu stavu z úložiště.Serializace zpracovává všechny podrobnosti objektu ukazatelů a cyklické odkazy na objekty, které se používají při serializaci objektu.Klíčové je odpovědná za čtení a psaní vlastní stát samotný objekt.Tedy být serializovatelné třídy, musí implementovat serializace základní operace.Jak je uvedeno ve skupině serializace článků, je snadné přidat tuto funkci do třídy.
Knihovna MFC používá objekt CArchive třída jako prostředník mezi objekt serializovat a paměťové médium.Tento objekt je vždy spojen s CFile objekt, který získává potřebné informace pro serializaci, včetně názvu souboru a zda je požadovaná operace čtení nebo zápisu.Můžete použít objekt, který provádí operaci serializace CArchive objektu bez ohledu na druh paměťové médium.
A CArchive objekt používá přetíženého vložení (<<) a extrakce (>>) hospodářské subjekty k provedení zápisu a čtení operací.Další informace naleznete v tématu ukládání a načítání CObjects prostřednictvím archivu v článku serializace: serializace objektu.
[!POZNÁMKA]
Nepleťte si CArchive třídy s univerzální iostream třídy, které jsou pro formátovaný text pouze.CArchive Třída je binární formát Serializované objekty.
Pokud chcete, můžete vynechat serializace MFC vytvořit si tak vlastní mechanismus pro ukládání dat trvalé.Je třeba přepsat členské funkce třídy, které iniciují serializace v příkazu uživatele.Viz popis v Technická poznámka: 22 ze ID_FILE_OPEN, ID_FILE_SAVE, a ID_FILE_SAVE_AS standardní příkazy.
Následující články se týkají dva hlavní úkoly vyžadované pro serializaci:
V článku Serialization: Serialization vs. Databázový vstup/výstup popisuje kdy serializace je vhodná technika vstupu a výstupu, v databázových aplikacích.