编写代码时,我看到了更改数据模型的要求(例如,从类中添加/更改/删除数据成员)。当这些数据模型属于某个接口时,在不破坏现有客户端代码的情况下似乎很难进行更改。所以我想知道是否有任何最佳实践来设计接口/数据模型,以尽量减少进化过程中的影响。
我能从谷歌找到的最接近的东西是数据合约版本控制。但这似乎是.net特定主题。我想知道相同的做法是否适用于Java世界,或者有一种不同的或通用的方式来处理数据模型的演变。
由于
答案 0 :(得分:1)
在Java或数据建模领域,没有简单的答案。
另一点值得注意的是,当与数据模型相对应的数据是持久的时,问题会变得更加困难,并且在数据模型更改时不会丢弃。这被称为“模式演变”问题,我相信已经证明没有通用解决方案。
答案 1 :(得分:1)
有些工具可以提供帮助,请查看LiquiBase。
进行了很好的概述