“类版本化”的正确名称是什么

时间:2014-09-22 21:46:54

标签: design-patterns

我希望说出我想解决的问题所以我可以看看别人的解决方案。感觉这是一个常见的问题(事实上,How to implement "class versioning" (using different version of the same class)询问类似的问题)。但是,我一直在使用的搜索术语(“类版本控制”,“对象版本控制”,“持久对象版本”和其他几个)都没有产生好的结果。

请注意,此问题与如何解决问题无关。如果我找不到任何东西,我稍后会问这个问题。这个问题是要求问题的名称(或解决问题的模式)。

我编写软件来支持大量科学家的积极研究。它存档,分析和发布他们的结果,以便他们可以更好地协作。由于该领域的活跃性,基本物体的模型在不断演变 - 随着新的发现,旧的模型不再适合。这意味着明年我的对象可能会有新的字段,可能会丢失字段,而某些现存字段可能会获得或失去约束。但是,也需要对今年的结果进行归档,而不是对其进行更改,以便未来的科学家能够理解今年使用该数据发表的论文。

因此问题分为三个部分:

  1. 我们的域名模式会发生变化 - 但我们无法提前预测

  2. 旧对象需要不加修改地存储。新对象应该利用新知识。

  3. 新旧物体之间有许多相似之处。我们想利用这些。例如,如果有人发现花朵有紫外线签名,那么我们就开始将它包含在我们的花朵模型中,我们仍然希望能够计算任何花朵中的花瓣,无论我们是否知道它们的紫外线特征。

  4. 这个问题与需求漂移有一些相似之处,除了这里有一个固定的要求,即软件处理世界的变化模型,并且在维护期间发生“漂移”,并且“漂移”是值得欢迎的而不是避免,因为它代表了我们知识的进步 - 软件的 raison d'être

0 个答案:

没有答案