Saltar al contenido

¿Qué es un objeto serializable?

Matías, miembro de nuestro equipo de trabajo, nos ha hecho el favor de redactar esta crónica porque conoce muy bien el tema.

Solución:

Normalmente los objetos son acceso aleatorio, es decir, puede especificar cualquier parte de un objeto (propiedad o campo) y acceder a esa parte directamente. Eso está muy bien si está usando RAM para almacenar un objeto, porque la RAM es Raleatorio UNimpuesto METROemory y por lo tanto es adecuado para el trabajo.

Cuando necesite almacenar su objeto en un medio que tradicionalmente no es de acceso aleatorio, por ejemplo discoo necesita transferir un objeto a través de un arroyo medio (como la red), entonces el objeto debe convertirse en una forma que sea adecuada para el medio relevante. Este proceso de conversión se llama publicación por entregasporque el objeto estructurado se aplana o serializa, lo que lo hace más susceptible de almacenarse a largo plazo o transferirse a través de la red.

¿Por qué no simplemente copiar los bits que componen el objeto en la RAM al disco, o enviarlo como una mancha opaca a través de la red? … Tu puedes preguntar. Algunos problemas:

  1. A menudo, el formato en el que el objeto se almacena en la memoria es propietario y, por lo tanto, no es adecuado para el consumo público: la forma en que se almacena en la memoria está optimizada para el uso en memoria.
  2. Cuando un objeto hace referencia a otros objetos, esas referencias solo tienen significado dentro del contexto de la aplicación en ejecución. No sería posible deserializar el objeto de manera significativa a menos que durante el proceso de serialización, el gráfico del objeto se haya recorrido y serializado en consecuencia. Puede haber una necesidad de traducir esas referencias a una forma que tenga significado fuera del contexto de una instancia de aplicación.
  3. Puede haber un requisito de interoperabilidad entre sistemas heterogéneos, en cuyo caso se requiere un medio estándar para representar el objeto (normalmente se elige alguna forma de XML para esto).

Un objeto que se puede convertir en bits y almacenar en un medio, como un disco duro. http://en.wikipedia.org/wiki/Serialización

La serialización de objetos almacena el estado de la instancia para que pueda reconstruir esa instancia nuevamente más tarde.

En la mayoría (C# y Java), un objeto serializable está “marcado”. En Java necesitas implementar Serializable. En C# necesitas usar [Serializable].

Una vez serializado el objeto, puede almacenarlo en un archivo o enviarlo a través de la red.

Piense en ello como revisar cada variable de instancia de una instancia y almacenar su valor, separado por algún separador (aunque es mucho más sofisticado que eso; piense en lo que sucede si tiene variables de instancia de tipos no primitivos, está también tendrá que almacenar todos los valores dentro de ellos).

Un uso sería guardar un juego.

Reseñas y puntuaciones

Si sostienes algún recelo y capacidad de modernizar nuestro enunciado eres capaz de escribir una anotación y con placer lo interpretaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *