【问题标题】:Save file format保存文件格式
【发布时间】:2010-09-27 18:04:21
【问题描述】:

所以我们有一个需要从磁盘保存和加载其状态的应用。

我们目前已经获得了一个对象的状态,并且该对象正在使用 XML 序列化器对象直接序列化为 XML。我已经与该项目的其他开发人员讨论过这个问题,他似乎认为这是解决这个问题的完美方式。他断言,磁盘上的模型与内存中的表示完全一样是理想的。

我觉得数据保存到磁盘的方式需要与其在内存中的表示分离,以便我们可以修改其中一个或另一个,而不会对保存的格式造成重大更改。更不用说 XML 序列化程序要求所有内容都需要读/写,而在对象中可能有很多情况需要只读。

问题是关于将内存数据序列化为 XML 的最佳实践。 是直接从 XML 中水合您的对象,还是通过使用唯一目的是输入 XML 序列化程序的对象来解耦过程?

【问题讨论】:

  • xml中的版本号,是否支持读取旧版本?
  • 问题到底是什么?

标签: .net xml save


【解决方案1】:

听起来你在指出他的解决方案的缺点,但并没有真正提供一个好的替代方案。

所以要么:

a) 使用他的解决方案,直到它不再起作用为止

b) 提出您自己的解决方案来解决您指出的问题。

可能值得探索的一件事:您可以查看像 db4o 这样的对象数据库,它可能能够处理对象的保存/加载以及您对类所做的大多数更改,但可能不适合您希望能够直接编辑磁盘状态的情况(您可以这样做,但您必须跳过几个环节)。

【讨论】:

  • 我确实有一个解决方案,使用第二个对象,其唯一目的是表示要序列化的数据。这样,主对象的数据存储方式就可以更加灵活。
  • 哦,我明白了,您想使用某种中间对象。这可能行得通。
猜你喜欢
  • 2020-02-16
  • 2011-10-24
  • 1970-01-01
  • 2021-09-24
  • 2011-07-28
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多