Pregunta

He escuchado este concepto con frecuencia, pero no entiendo muy bien lo que es.

¿Fue útil?

Solución

Convertir un objeto en la memoria a un formato que se puede escribir en el disco, o enviarse por cable, etc.

Descripción de la Wikipedia .

Otros consejos

No estoy de acuerdo, Wikipedia es bastante clara en esto.

  

En informática, marshalling   (similar a la serialización) es el   proceso de transformación de la memoria   Representación de un objeto a un dato.   formato adecuado para el almacenamiento o   transmisión. Se usa tipicamente   cuando los datos deben moverse entre   diferentes partes de un programa de computadora   o de un programa a otro.

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

La gente ya ha definido el ordenamiento con bastante claridad, así que omitiré la definición y saltaré a un ejemplo.

La llamada a procedimiento remoto utiliza ordenación. Al invocar funciones remotas, tendrá que reunir los argumentos con algún tipo de formato estándar para que pueda ser transportado a través de la red.

Aclaré una búsqueda en Google a " ordenamiento de datos " y el primer éxito fue en un lugar llamado webopedia que es bastante bueno. Lo esencial es que transforma los datos de un lado a otro en un formulario para cosas como la transmisión a través de una red. El problema que resuelve es que realmente no puede transmitir datos a través de una red en una forma que pueda ser utilizada por un programa. Tienes que resolver una serie de problemas que incluyen cosas como la endianidad de los datos, cómo almacenar tipos de datos complejos como cadenas, etc.

Marshalling no es solo para resolver problemas de transmisión de la red, sino otros problemas, como pasar de una arquitectura a otra, quizás diferentes idiomas, especialmente aquellos que podrían usar cosas como máquinas virtuales, y otra "traducción" problemas.

Marshalling es el proceso de transformar la representación de la memoria de un objeto en un Formato de datos que puede ser almacenado o transmitido. También se llama serialización (aunque podría ser diferente en ciertos contextos). La representación en memoria del objeto podría almacenarse como binario o XML o cualquier formato adecuado para el almacenamiento y / o la transmisión de una manera que le permita descomprimirlo y recuperar el objeto original.

Para un ejemplo de uso, si tiene algún juego en línea con componentes de cliente y servidor y desea enviar el objeto de jugador que contiene estadísticas de jugador y coordenadas mundiales del cliente al servidor (o al revés), simplemente podría colocarlo en el cliente, enviarlo a través de la red y desmarcarlo en el otro extremo y aparecería para el servidor como si el objeto se hubiera creado en el mismo servidor. Aquí hay un ejemplo de rubí:

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

Marshalling es el proceso de transferencia de datos a través de los límites de la aplicación o entre diferentes formatos de datos. La recopilación de información es muy común, por ejemplo, escribir datos en el disco o en una base de datos es una combinación técnica, sin embargo, el término tiende a usarse para describir la conversión de datos para "extranjero" API o para la comunicación entre procesos.

Por ejemplo, en .NET, la comunicación entre el código administrado y el no administrado (como el acceso a ciertas APIs win32) probablemente requerirá una clasificación para convertir una y otra vez entre objetos C # administrados y objetos de estilo C / C ++ (estructuras, manijas, buffers de salida, etc.) La ayuda para la estática Marshal la clase puede ser útil.

Básicamente, es una expresión para transformar genéricamente un objeto (o similar) en otra representación que (por ejemplo) puede enviarse por cable o almacenarse en el disco (normalmente, una cadena o secuencia binaria. Lo opuesto, no desagradable, describe la dirección opuesta de leyendo la representación acumulada y recreando un objeto o cualquier estructura de memoria existente anteriormente.

Otro ejemplo cotidiano actual es JSON

En un sentido muy genérico en la programación, simplemente significa tomar datos en un formato y transformarlos en un formato que sea aceptable por algún otro subsistema.

Significa convertir cualquier dato en otro tipo de dato para transferirlo a otro sistema.

Por ejemplo, agrupar una estructura en un documento XML para enviar al servicio web, o agrupar un puntero para enviar a un apartamento de subproceso diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top