保存文件格式
Posted
技术标签:
【中文标题】保存文件格式【英文标题】:Save file format 【发布时间】:2010-09-27 18:04:21 【问题描述】:所以我们有一个需要从磁盘保存和加载其状态的应用。
我们目前已经获得了一个对象的状态,并且该对象正在使用 XML 序列化器对象直接序列化为 XML。我已经与该项目的其他开发人员讨论过这个问题,他似乎认为这是解决这个问题的完美方式。他断言,磁盘上的模型与内存中的表示完全一样是理想的。
我觉得数据保存到磁盘的方式需要与其在内存中的表示分离,以便我们可以修改其中一个或另一个,而不会对保存的格式造成重大更改。更不用说 XML 序列化程序要求所有内容都需要读/写,而在对象中可能有很多情况需要只读。
问题是关于将内存数据序列化为 XML 的最佳实践。 是直接从 XML 中水合您的对象,还是通过使用唯一目的是输入 XML 序列化程序的对象来解耦过程?
【问题讨论】:
xml中的版本号,是否支持读取旧版本? 问题到底是什么? 【参考方案1】:听起来你在指出他的解决方案的缺点,但并没有真正提供一个好的替代方案。
所以要么:
a) 使用他的解决方案,直到它不再起作用为止
或
b) 提出您自己的解决方案来解决您指出的问题。
可能值得探索的一件事:您可以查看像 db4o 这样的对象数据库,它可能能够处理对象的保存/加载以及您对类所做的大多数更改,但可能不适合您希望能够直接编辑磁盘状态的情况(您可以这样做,但您必须跳过几个环节)。
【讨论】:
我确实有一个解决方案,使用第二个对象,其唯一目的是表示要序列化的数据。这样,主对象的数据存储方式就可以更加灵活。 哦,我明白了,您想使用某种中间对象。这可能行得通。以上是关于保存文件格式的主要内容,如果未能解决你的问题,请参考以下文章