保存的文件格式

问题描述:

因此,我们已经得到了需要保存并从磁盘加载其状态的应用程序。保存的文件格式

我们已经得到了国家在当前的对象,该对象被直接序列化到XML和XML序列化对象。我已经和这个项目的其他开发人员一起完成了这个任务,他似乎认为这是一个完美的方法。他断言,使光盘上的模型与内存中的表示完全相同是理想的。

我觉得这个数据被保存到磁盘的方式需要从它在内存中的表示分离,使我们可以没有它的保存格式的重大更改修改一个或另一个。更不用说XML序列化器需要一切需要读/写的地方,可能有很多情况需要只读。

的问题是有关于最佳实践在内存中的数据序列化到XML。 从XML中直接提取对象是更好的办法,还是通过使用其唯一目的是馈入XML序列化器的对象来分离进程?

+0

在XML和支持一个版本号旧版本阅读? – kenny 2010-09-27 18:05:56

+1

问题到底是什么? – villecoder 2010-09-27 18:17:57

这听起来像你指出他的解决方案的底片,但并没有真正提供一个很好的选择。

因此,要么:

a)使用他的解决方案,直到它不工作了

b)用你自己的解决方案,解决了你所指出的问题上来了。

有一件值得探讨的事情:你可以看一下像db4o这样的对象数据库,它可能能够处理对象的保存/加载和对类的大部分修改,但可能并不理想对于您希望能够直接编辑磁盘状态的情况(您可以这样做,但是您必须跳过几个循环)。

+1

我确实有一个解决方案,使用第二个对象,其唯一目的是表示要序列化的数据。这样,主对象可以更灵活地存储数据。 – 2010-09-27 23:19:45

+0

哦,我明白了,你想使用某种中间对象。这可以工作。 – 2010-09-28 00:31:54