在我们很多程序中,需要将数据保存到本地,以便于下次打开还能看到原始数据。例如我们Xmind思维导图,例如我们的Power Designer等等,都是有保存一个隶属于自己的工程文件,那么今天我要说的就是,工程文件中的序列化和反序列化。

【简介】

  序列化就是就爱那个对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以类的名称(包括类的程序集)转为字节流,然后再把字节流写入数据流,在随后对对象进行反序列化的时候,将创建与原来对象相同的副本。

【为什么要序列化?序列化的好处是什么?】

1、将对象的状态保存在存储媒体中,以便于可以在以后重新创建出来完全相同副本。

2、按值将对象从一个应用程序域发送到另一个应用程序域。这样可以方便内存对象变成磁盘数据,便于网络传输,用于分布式,WCF等应用(JSON其实就是将对象序列化为字符串)。实现对象的备份和还原。

【持久储存】

我们经常需要将对象的字段值保存到磁盘中,并在以后检索这些数据。尽管我们不采用序列化也可以做到这事儿,但是通常这种方法比较繁琐而且容易出现差错。在需要跟踪对象的层次结构时,会变得越来越复杂。可以想象如果我们在进行编写一个包含大量对象的大型的业务应用程序的时候,开发人员不得不为每个对象编写代码,以便于将字段和属性保存

网友评论