/ / Che cos'è il marshalling degli oggetti? - marshalling, terminologia, glossario

Cos'è il marshalling degli oggetti? - marshalling, terminologia, glossario

Ho sentito questo concetto usato frequentemente, ma non ho una buona comprensione di cosa sia.

risposte:

31 per risposta № 1

Conversione di un oggetto in memoria in un formato che può essere scritto su disco o inviato via cavo, ecc.

Descrizione di Wikipedia.


33 per risposta № 2

Mi permetto di dissentire, Wikipedia è abbastanza chiaro su questo.

In informatica, marshalling (simile aserializzazione) è il processo di trasformazione della memoria rappresentazione di un oggetto in un dato formato adatto per lo stoccaggio o trasmissione. Viene in genere utilizzato quando i dati devono essere spostati tra diverse parti di un programma per computer o da un programma all'altro.

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


10 per risposta № 3

Le persone hanno già definito chiaramente il marshalling, quindi salterò la definizione e passerò ad un esempio.

La chiamata di procedura remota utilizza il marshalling. Quando si invocano le funzioni remote, è necessario eseguire il marshalling degli argomenti su un tipo di formato standard in modo che possa essere trasportato attraverso la rete.


3 per risposta № 4

Ho chiarito una ricerca su google per "data marshalling" e il primo hit è stato in qualche posto chiamato webopedia che è abbastanza buono Il succo è che si trasformano i dati avanti e indietro in un modulo per cose come la trasmissione su una rete. Il problema che risolve è che non è possibile trasmettere dati su una rete in un formato utilizzabile da un programma. È necessario risolvere una serie di problemi, inclusi aspetti come endianità dei dati, modalità di archiviazione di tipi di dati complessi come stringhe, eccetera.

Marshalling non è solo per risolvere la reteproblemi di trasmissione ma altri problemi, come passare da un'architettura all'altra, forse lingue diverse, in particolare quelle che potrebbero utilizzare cose come macchine virtuali e altri problemi di "traduzione".


3 per risposta № 5

marshalling è il processo di trasformazione della rappresentazione della memoria di un oggetto in un formato di dati che potrebbe essere memorizzato o trasmesso. Viene anche chiamato serializzazione (anche se potrebbe essere diverso in alcunicontesti). La rappresentazione della memoria dell'oggetto può essere memorizzata come binario o XML o qualsiasi formato adatto per l'archiviazione e / o la trasmissione in un modo che permetta di renderlo unmarshal e recuperare l'oggetto originale.

Per un esempio di utilizzo, se ne hai alcuni onlinegioco con componenti client e server e volevi inviare l'oggetto giocatore contenente le statistiche del giocatore e le coordinate del mondo dal client al server (o viceversa), puoi semplicemente metterlo in marcia sul client, inviarlo tramite la rete, e unmarshal all'altra estremità e apparirebbe per il server come se l'oggetto fosse stato creato sul server stesso. Ecco un esempio rubino:

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

3 per risposta № 6

Il marshalling è il processo di trasferimento dei datioltre i limiti dell'applicazione o tra diversi formati di dati. Il marshalling è molto comune, ad esempio la scrittura di dati su disco o su un database è tecnicamente di marshalling, tuttavia il termine tende a essere usato per descrivere la conversione di dati per API "straniere" o per la comunicazione tra processi.

Ad esempio, in.NET, la comunicazione tra codice gestito e non gestito (come l'accesso a determinate API Win32) richiederà probabilmente il marshalling per convertire avanti e indietro tra oggetti C # e oggetti di stile C / C ++ (strutture, handle, buffer di output, ecc.) per lo statico Classe di maresciallo potrebbe essere utile.


2 per risposta № 7

Fondamentalmente è un'espressione genericamentetrasformare un oggetto (o simile) in un'altra rappresentazione che (ad esempio) può essere inviata sul filo o memorizzata su disco (in genere stringa o flusso binario.) L'opposto, non corrispondente, descrive la direzione opposta di leggere la rappresentazione ordinata e ricreare un oggetto o qualsiasi altra struttura in memoria esistente prima.

Un altro esempio corrente di tutti i giorni è JSON


1 per risposta № 8

In senso molto generico nella programmazione significa semplicemente prendere i dati in un formato e trasformarli in un formato accettabile da qualche altro sottosistema.


1 per risposta № 9

Significa trasformare qualsiasi dato in un altro tipo di dati per trasferirlo su un altro sistema.

Ad esempio, eseguire il marshalling di una struct in un documento XML da inviare al servizio web o eseguire il marshalling di un puntatore da inviare a un apartment thread diverso.