Question

La semaine dernière, un jeune étudiant me demande si marshalling est la même que la coulée. Ma réponse était definetly pas. Est Marshalling seralization, la façon de transformer un représentation de la mémoire d'un objet en octets afin d'être transmis à un réseau tandis que la coulée est liée au type convertion / contrainte.

Par la suite, en repensant la question que je pensais que marshalling peut être considéré comme un cas particulier de coulée. Par exemple, la transformation de la représentation de la mémoire est en xml alors on peut dire que vous « casting » du type défini par la grammaire xsd correspondante de ce fichier xml.

Que pensez-vous à ce sujet?

Était-ce utile?

La solution

Castings ne modifie pas le type de données. C'est une distinction importante. Lorsque vous, maréchal quelque chose, vous transformez les données dans quelque chose d'autre.

Un casting simple, ne modifie que la façon dont vous interprétez l'objet, pas ce que l'objet est interne.

Je suis d'accord que la distinction doit être claire sinon les gens ne connaissent pas peuvent être confondus.

Autres conseils

sérialisation est généralement sur une limite technologique (par exemple aller à travers un réseau ou d'un type de mémoire à l'autre comme dans le cas de gestion / non géré), alors que la coulée est généralement dans la même limite technologique donc je pense que ce sont des choses vraiment différentes.

Il serait extrêmement déroutant si nous avons utilisé le même terme pour les deux approches sens que nous aurions besoin de les définir différemment car ils ont des comportements différents.

Ils sont tous les deux une « conversion de type », mais ils sont différents types de conversion de type: coulée est généralement entre types d'objets connexes (par exemple un baissés d'une superclasse à une sous-classe), alors qu'un rassemblement pourrait être par exemple de un objet graphique à la représentation de texte brut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top