我的应用程序包含一组模型类。例如人,部门......
用户在UI中更改这些类的实例的值,并且这些类将持久保存到我的“项目”文件中。下次用户可以打开和编辑项目。
我的产品的下一个版本可能会彻底改变模型类。它仍然需要打开现有的项目文件(我将知道如何处理丢失的数据)。
如何将我的模型类持久化到项目文件中?
持久化类的最简单方法是数据合同序列化。然而,它会在破坏变化时失败(我希望有这样的变化)。如何处理?
答案 0 :(得分:0)
我建议在项目文件架构中包含版本号。然后提供XSLT以在项目模式的不同版本之间进行转换。打开文件时,首先以XML格式打开并检查版本。如果它不是最新版本,请进行上转换,然后正常处理。
答案 1 :(得分:0)
因为将来您需要支持当前应用程序创建的所有“项目”文件。在我看来,将当前数据迁移到新格式的应用程序是更好的解决方案。 这种方法可以使新代码保持干净,以便读取和写入新的数据格式。因此,如果旧格式这样做,那么逻辑就不会混杂在一起,如果新格式那样做的话。 此外,迁移应用程序将是独立的,可以轻松测试与不正确的数据转换相关的任何问题。