序列化的概念

时间:2021-01-14 23:29:28
请问序列化是什么意思?在什么地方要用到这个.

8 个解决方案

#1


"请问序列化是什么意思?"
这也是我想问你的! 是STL的吗?能不能说明白一点?

#2


我问的就是这个,原来做过.net项目的时候,有一些要在网络上传输的数据加了这么一个东西
,不怎么明白所以来问问Serialize()

#3


一般序列化指的是,一个类的实例能够在下次使用的时候恢复其状态,这个状态你可以用自己的方法存储。

#4


能不能举一个例子,如果保存(能不能保存到硬盘上,如何保存),然后又如何恢复?

#5


序列化(串行化)就是把对象的数据信息以二进形式写到文件或内存中
反序列化(反串行化)就是把能过上面的二进制信息构造出以前的对象

推荐看《C++实践之路》(英文版叫《C++ IN ACTION》)那里讲的很清楚,很容易理解

#6


一般是将一个初始化好的类的对象做保存,以便再想用的时候能够直接取得已经初始化好的类的对象.

#7


序列化既是将对象变成二进制的文件或内存中

什么地方要用到呢?
比如你做了一个画图的程序,上面有有一些点线,他们都是对象,然后要将这个状态保存到文件中去然后下次打开这个文件又回复到这个状态,即根据文件动态生成对象。
这方面你可以参考深入浅出MFC,介绍的很详细,MFC的CArchive可以帮你完成这些工作。

不用MFC呢?
当然,比如说你做c/s,就会涉及到往返消息,不过现在更趋向于传递对象进行通讯,这个避免了switch-case,又可以体会到多态的威力。

比如说你要发送一个loginTransaction这样一个消息,
定义如下:
class loginTransaction
{
public:
   CString name;
   Cstring pwd;
}
示例化:
loginTranscation lt;
lt.name = "nonocast";
lt.pwd = "123";
那么你可以将这个对象序列化成如下的xml:
<loginTransaction>
    <name>nonocast</name>
    <pwd>123</pwd>
</loginTransaction>

其实这就是一种简单的应用,当然你如果要动态创建还需要借助RTTI.
当然这样的xml并不是完整的,因为他不能自描述类型,以及还有后续的压缩工作。

这方面可以参考soap,dto,o/r mapping当然还有hibernate
坦白的说这块java要做的更好一些

希望对你有用,能够起到抛砖引玉的作用

#8


强烈推荐<深入浅出MFC>

#1


"请问序列化是什么意思?"
这也是我想问你的! 是STL的吗?能不能说明白一点?

#2


我问的就是这个,原来做过.net项目的时候,有一些要在网络上传输的数据加了这么一个东西
,不怎么明白所以来问问Serialize()

#3


一般序列化指的是,一个类的实例能够在下次使用的时候恢复其状态,这个状态你可以用自己的方法存储。

#4


能不能举一个例子,如果保存(能不能保存到硬盘上,如何保存),然后又如何恢复?

#5


序列化(串行化)就是把对象的数据信息以二进形式写到文件或内存中
反序列化(反串行化)就是把能过上面的二进制信息构造出以前的对象

推荐看《C++实践之路》(英文版叫《C++ IN ACTION》)那里讲的很清楚,很容易理解

#6


一般是将一个初始化好的类的对象做保存,以便再想用的时候能够直接取得已经初始化好的类的对象.

#7


序列化既是将对象变成二进制的文件或内存中

什么地方要用到呢?
比如你做了一个画图的程序,上面有有一些点线,他们都是对象,然后要将这个状态保存到文件中去然后下次打开这个文件又回复到这个状态,即根据文件动态生成对象。
这方面你可以参考深入浅出MFC,介绍的很详细,MFC的CArchive可以帮你完成这些工作。

不用MFC呢?
当然,比如说你做c/s,就会涉及到往返消息,不过现在更趋向于传递对象进行通讯,这个避免了switch-case,又可以体会到多态的威力。

比如说你要发送一个loginTransaction这样一个消息,
定义如下:
class loginTransaction
{
public:
   CString name;
   Cstring pwd;
}
示例化:
loginTranscation lt;
lt.name = "nonocast";
lt.pwd = "123";
那么你可以将这个对象序列化成如下的xml:
<loginTransaction>
    <name>nonocast</name>
    <pwd>123</pwd>
</loginTransaction>

其实这就是一种简单的应用,当然你如果要动态创建还需要借助RTTI.
当然这样的xml并不是完整的,因为他不能自描述类型,以及还有后续的压缩工作。

这方面可以参考soap,dto,o/r mapping当然还有hibernate
坦白的说这块java要做的更好一些

希望对你有用,能够起到抛砖引玉的作用

#8


强烈推荐<深入浅出MFC>