问题是:我们的主要课程(比如:合同)每年都在变化。添加了一些属性,删除了其他属性。我们不知道明年会是什么样子。它可能会发生很大变化或根本不会发生变化。
另一方面,我们现在(新要求......)必须保留每份合同的历史记录。每次用户更新合约时,整个对象都必须存储在备份中(例如 - 在表中序列化)。
当然,我们必须能够读回它......一个选择(残酷)是每年都有一个新的合同类(合同2008,合同2009,......)。
但这会非常麻烦(而且丑陋),因为很多类都依赖于 Contract - 事实上,我们每年都必须创建一堆新类。
有过这种问题吗?有什么建议吗?
提前致谢 !
(我们使用的是 C# 2.0。)
补充:感谢您的回答。我们现在问自己如何使用字典/ XML 文件来实现版本控制而不破坏所有代码。在这种情况下,字典似乎很性感:o)