2012-09-07 20 views
22

Warum müssen wir die Serialisierung verwenden?
Wenn wir ein Objekt oder ein Stück Daten über ein Netzwerk senden möchten Wir können Byteströme verwenden.
Wenn wir einige Daten auf der Festplatte speichern möchten Wir können den Binärmodus zusammen mit den Bytestreams erneut verwenden und speichern.
Was ist also der Vorteil der Serialisierung?Warum verwenden wir Serialisierung?

+6

Serialisierung * ist * 'ein Strom von Bytes'. – EJP

Antwort

22

Technisch auf dem Low-Level, Ihr serialisierte Objekt wird auch als ein Strom von Bytes auf dem Kabel oder das Dateisystem am Ende ...

So kann man auch daran denken als standardisierte und bereits verfügbare Möglichkeit, Ihre Objekte in einen Bytestrom umzuwandeln. Das Speichern/Übertragen von Objekten ist eine sehr häufige Anforderung, und es hat wenig oder wenig Sinn, dieses Rad in jeder Anwendung neu zu erfinden.

Wie andere bereits erwähnt haben, wissen Sie auch, dass diese Objekt-> stream_of_bytes-Implementierung ziemlich robust, getestet und generell architekturunabhängig ist.

Dies bedeutet nicht, dass es die einzige akzeptable Möglichkeit ist, ein Objekt zu speichern oder zu übertragen: In einigen Fällen müssen Sie eigene Methoden implementieren, um zum Beispiel unnötige/private Elemente (z. B. für Sicherheit oder Leistungsgründe). Aber wenn Sie in einem einfachen Fall sind, können Sie Ihr Leben einfacher machen, indem Sie die Serialisierung/Deserialisierung Ihres Frameworks, Ihrer Sprache oder Ihrer VM verwenden, anstatt sie selbst implementieren zu müssen.

Hoffe, das hilft.

2

Allgemeines, Serialisierung ist eine Methode, den Zustand eines Objekts bestehen bleiben, aber ich schlage vor, Sie diese Wiki-Seite zu lesen, es ist ziemlich detailliert und richtig ist meiner Meinung nach:

http://en.wikipedia.org/wiki/Serialization

+0

Ich bekomme * was * Serialisierung ist. Ich denke, OP und ich fragen uns beide, was ein ** Beispiel ** ist, in dem es nützlich wäre –

+0

Es wird verwendet, um Pakete in einem Netzwerk zu übertragen, da jede Seite eine Maschine mit anderer Architektur haben kann. – MCG

9

Unter anderen Gründen kompatibel sein zwischen Architektur. Eine Ganzzahl hat nicht die gleiche Anzahl an Bytes von einer Architektur zur anderen und manchmal von einem Compiler zum anderen.

Plus, was Sie reden, ist immer noch Serialisierung. Binäre Serialisierung. Sie setzen alle Bytes Ihres Objekts zusammen, um sie zu speichern und später als Objekt umzuwandeln. Dies ist Serialisierung.

Mehr Infos on wikipedia

3

Bei der Serialisierung wird ein Objekt in einen Stream konvertiert, sodass es in einer beliebigen physischen Datei (XML) gespeichert oder in der Datenbank gespeichert werden kann. Der Hauptzweck der Serialisierung in C# besteht darin, ein Objekt dauerhaft zu speichern und es in jedem angegebenen Speichermedium wie Stream, physische Datei oder DataBase zu speichern.

Verwandte Themen