Frage

Ich habe dieses Konzept gehörte häufig verwendet, aber ich habe nicht ein wirklich gutes Verständnis von dem, was es ist.

War es hilfreich?

Lösung

Konvertieren eines Objekts im Speicher in einem Format, das auf die Platte geschrieben werden können, oder über den Draht geschickt usw.

Wikipedias Beschreibung .

Andere Tipps

ich bitte zu unterscheiden, Wikipedia zu diesem Thema ziemlich klar ist.

  

In der Informatik, Rangier-   (Ähnlich wie die Serialisierung) die   Prozess den Speicher des Transformierens   Darstellung eines Objekts in einen Daten   Format geeignet für die Lagerung oder   Getriebe. Es wird normalerweise verwendet,   wenn Daten müssen bewegt werden zwischen   verschiedene Teile eines Computerprogramms   oder von einem Programm zum anderen.

http://en.wikipedia.org/wiki/Marshalling_(computer_science)

Die Menschen haben definiert ganz klar schon Rangier, also werde ich die Definition überspringen und zum Beispiel springen.

Remote Procedure Call verwendet Rangierung. Wenn Remote-Funktionen aufrufen können Sie die Argumente zu einer Art Standardformat marshall haben, so dass es den Transport über das Netzwerk sein kann.

Ich erklärte eine Google-Suche nach „Daten Rangier“ und der erste Treffer war auf einige Ort namens Webopedia was ziemlich gut ist. Der Kern ist, dass Sie Daten hin und her zu einer Form für Dinge wie die Übertragung über ein Netzwerk zu verwandeln. Das Problem löst es ist, dass Sie nicht wirklich Daten über ein Netzwerk in einer Form übertragen können, die von einem Programm verwendet werden kann. Sie haben eine Reihe von Fragen, einschließlich solcher Dinge wie endianness von Daten zu lösen, wie Sie komplexe Datentypen wie Strings speichern, etc.

Die Rangierung ist nicht nur Netzwerk-Übertragungsprobleme zu lösen, aber andere Probleme wie von einer Architektur zum anderen, vielleicht verschiedenen Sprachen vor allem diejenigen, die Dinge wie virtuelle Maschinen verwenden könnte, und andere „Übersetzung“ Probleme.

Rangierung ist der Prozess der Speicher Darstellung eines Objekts zu einem der Transformation Datenformat, das gespeichert oder übertragen werden. Es ist auch Serialisierung genannt (obwohl es anders in bestimmten Kontexten sein könnte). Die Speicherdarstellung des Objekts als Binär- oder XML oder ein beliebiges Format geeignet für die Lagerung und / oder Getriebe in eine Art und Weise gespeichert werden könnte, dass Sie es entpacken kann und wieder das ursprüngliche Objekt erhalten.

Ein Beispiel für die Verwendung, wenn Sie einig Online-Spiel mit einer Client- und Serverkomponenten und Sie wollten das Spieler-Objekt mit Spielerstatistik senden und Weltkoordinaten vom Client zum Server (oder umgekehrt), Sie Marschall es könnte einfach auf dem Client über das Netzwerk senden, und entpacken es am anderen Ende, und es wäre für den Server erscheinen, als ob das Objekt auf dem Server selbst erstellt wurde. Hier ist ein rubin Beispiel:

srcplayer = Player.new
# marshal (store it as string)
str = Marshal.dump(srcplayer)
#unmarshal (get it back)
destplayer = Marshal.load(str)

Die Rangierung ist der Prozess, der Daten über Anwendungsgrenzen hinweg oder zwischen unterschiedlichen Datenformaten übertragen. Die Rangierung ist sehr häufig, beispielsweise Daten auf der Festplatte zu schreiben oder zu einer Datenbank technisch Rangierung ist jedoch der Begriff neigt verwendet werden, um die Datenkonvertierung für „fremde“ APIs zu beschreiben oder für die Kommunikation zwischen Prozessen.

Zum Beispiel in .NET, die Kommunikation zwischen verwalteten und nicht verwalteten Code (wie bestimmten Win32-APIs zugreifen) erfordern wird Rangier wahrscheinlich zu konvertieren, um hin und her zwischen verwalteten C # Objekten und C / C ++ Stil Objekten (structs, Griffen, Ausgabepuffer usw.), um die Hilfe für die statische Marshal Klasse könnte hilfreich sein.

Im Grunde ist es ein Ausdruck für generisch Transformation eines Objekts (oder ähnlich) in eine andere Darstellung, dass (zum Beispiel) kann über den Draht oder auf der Festplatte gespeichert gesendet werden (typischerweise String oder Binärstrom. Das entgegengesetzte, unmarshalling beschreibt die entgegengesetzte Richtung die vermarshallten Darstellung zu lesen und neu zu erstellen, ein Objekt oder was auch immer in-memory-Struktur früher existierte.

Ein weiteres aktuelles Beispiel aus dem Alltag ist JSON

In einem sehr allgemeinen Sinne in der Programmierung bedeutet es einfach, Daten in einem Format zu nehmen und es in ein Format umzuwandeln, das von einem anderen Untersystem akzeptabel ist.

Es ist alle Daten in einer anderen Datentyp Drehen auf ein anderes System zu übertragen.

z. B. eine Struktur in ein XML-Dokument Rangier an den Webservice zu schicken, oder einen Zeiger Rangier zu einer anderen Thread Wohnung senden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top