La serialización generalmente se refiere a crear una versión de los datos (en lugar de los objetos) que se pueden usar para almacenar (quizás en un archivo), para transferir a través de una red, o simplemente para transferir entre procesos/AppDomain
s/etc. en una sola máquina.
Serialización normalmente significa escribir los datos como una cadena (pensar: xml/json) o como binario sin formato (un byte[]
etc.). La deserialización es el proceso inverso; tomar los datos brutos (de un archivo, desde un socket de red entrante, etc.) y reconstruir el modelo de objetos.
La diferencia entre usar un db es que no tiene un diseño tabular intrínseco y no tiene una conexión real con una base de datos; los datos pueden ser de cualquier forma y tienden a correlacionarse más estrechamente con el diseño orientado a objetos que con la naturaleza de filas/columnas de las tablas.
mayoría de las plataformas tienen una gama de herramientas de serialización. Por ejemplo, suena como si estuvieras hablando de .NET, entonces BinaryFormatter
(.NET-specific), XmlSerializer
, DataContractSerializer
, Json.NET y protobuf-net/dotnet-protobufs calificarían todos.
Muchas gracias por todas sus respuestas, me puso otra pregunta aquí como un comentario: Leyendo sus respuestas, entonces, ¿cuándo debería ser útil usar la serialización en una aplicación que usa DB? – odiseh