Domanda

La settimana scorsa un giovane studente mi chiede se smistamento è lo stesso di casting. La mia risposta è stata sicuramente no. Marshalling è seralization, il modo di trasformare un rappresentazione memoria di un objet in byte per trasmettere ad una rete, mentre la fusione è legato al tipo di conversione / coercizione.

In seguito, ripensare la domanda che mi è pensato che smistamento può essere visto come un caso speciale di casting. Per esempio la trasformazione della rappresentazione memoria è in XML, allora si può dire che si sta "casting" per il tipo definito dal corrispondente grammatica XSD di quel file XML.

Cosa ne pensi di questo?

È stato utile?

Soluzione

Casting non modifica il tipo di dati. Questa è una distinzione importante. Quando si effettua il marshalling qualcosa, state trasformando i dati in qualcosa d'altro.

Un semplice getto cambia solo come si sta interpretando l'oggetto, non ciò che l'oggetto è internamente.

Sono d'accordo che la distinzione deve essere chiaro altrimenti la gente non familiari possono essere confusi.

Altri suggerimenti

Marshalling è generalmente di circa un confine tecnologia (ad esempio andare in una rete o da un tipo di memoria ad un altro, come nel caso della gestione / non gestito), mentre la fusione è generalmente nell'ambito della stessa confini della tecnologia, pertanto penso che siano cose assolutamente diverse.

Sarebbe estremamente complicato se abbiamo usato lo stesso termine per entrambi gli approcci significato avremmo bisogno di definire in modo diverso in quanto hanno comportamenti diversi.

Sono entrambi una "conversione di tipo", ma, essi sono diversi tipi di conversione del tipo: Casting è di solito tra i tipi di oggetti correlati (ad esempio, un abbassati da una superclasse a una sottoclasse), mentre uno smistamento potrebbe essere per esempio dalla un oggetto grafico di rappresentazione plain-text.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top