Serializacja w MFC
W tym artykule wyjaśniono, że mechanizm serializacji w Microsoft Foundation klasy biblioteki (MFC) umożliwiające obiekty, aby utrwalić między uruchamia tego programu.
Serializacja jest proces zapisywania lub odczytywania obiektu do lub nośnik magazynu trwałego, takiego jak plik na dysku.Serializacja jest idealnym rozwiązaniem dla sytuacji, gdy jest pożądane, aby utrzymać stan danych strukturalnych (takich jak C++ klasy lub struktury), podczas lub po wykonaniu programu.Przy użyciu obiektów serializacji, świadczone przez MFC pozwala to występuje w standardowych i spójny sposób odciążenie użytkownika od konieczności ręcznie wykonywać operacje na plikach.
MFC dostaw wbudowaną obsługę serializacji w klasie CObject.Tak więc wszystkie klasy pochodzące z CObject mogą korzystać z CObjectprzez Protokół serializacji.
Ideą serializacji jest, że obiekt powinny móc zapisać bieżący stan, wskazywany zwykle przez wartość jego zmienne składowe, do trwałego magazynu.Później obiekt może odtwarzane przez czytania lub deserializacji obiektu Państwo z magazynu.Serializacja obsługuje wszystkie szczegóły obiektu wskaźniki i odwołania cykliczne do obiektów, które są używane podczas serializowania obiektu.Kluczowym elementem jest sam obiekt odpowiedzialny za odczyt i zapis w swoim Państwie.Zatem dla klasy możliwy do serializacji go musi implementować operacji podstawowych serializacji.Jak pokazano w grupie serializacji artykułów, jest łatwo dodać tę funkcję do klasy.
MFC używa obiektu CArchive klasy jako pośrednik między obiektu do szeregowania i nośnik przechowywania danych.Ten obiekt jest zawsze skojarzony z CFile obiekt uzyska informacje niezbędne do serializacji, łącznie z nazwą pliku i czy jest żądanej operacji, zapisu lub odczytu.Można użyć obiektu, który wykonuje operację serializacji CArchive obiektu bez względu na charakter nośnik przechowywania danych.
A CArchive obiektu używa przeciążony wstawiania (<<) i ekstrakcji (>>) operatorów do wykonywania operacji czytania i pisania.Aby uzyskać więcej informacji, zobacz przechowywanie i ładowanie CObjects, via archiwum w artykule serializacji: szeregowania obiektu.
[!UWAGA]
Nie należy mylić CArchive klasy z klasy iostream ogólnego przeznaczenia, które są sformatowane tylko tekst.CArchive Klasy jest dla obiektów serializowanych formatu binarnego.
Jeśli chcesz, można pominąć serializacji MFC, aby utworzyć własny mechanizm przechowywania trwałych danych.Należy zastąpić funkcje składowe klasy inicjujących serializacji na polecenia użytkownika.Zobacz temat dyskusji w technicznej 22 Uwaga z ID_FILE_OPEN, ID_FILE_SAVE, i ID_FILE_SAVE_AS standardowych poleceń.
Następujące artykuły obejmuje dwa główne zadania wymagane do serializacji:
Artykuł serializacji: serializacji kontra Baza danych wejścia i wyjścia opisuje, kiedy serializacji jest właściwe techniki wejścia i wyjścia w bazie danych aplikacji.