【发布时间】:2018-02-15 15:36:37
【问题描述】:
Javers 是否可以使用元模型之类的类/对象而不是具体的 Java 类来计算差异?
到目前为止,我的研究使我相信 Javers 差异仅适用于实现为具体 Java 类的模型。
与java-object-diff 库类似。
我有一个元模型,其中单个模型包含与使用 Java 反射 API(即类、字段)所获得的信息大致相似的信息。我也有模型对象实例,它们类似于 Java 对象(即类的实例)。元模型和模型对象实例都是 Java 类,但这些类本身是一般重用的建模类,本身无趣。
我预计必须进行相当多的接线才能将元模型的细节暴露给差分算法,这相当于从 Java 反射 API 和通常的 Java 对象语义中获得的结果。如:
- 什么是实体?
- 什么是实体属性?
- 什么是属性的基数? (例如,一、多/集合/列表/数组)。
- 属性值是什么类型,实体或非实体(例如原始)。该属性是另一个实体还是非实体(例如原始)?
- 提供一种读取给定实体实例的属性值的方法。
- “相同”的定义是什么?
- “相等”的定义是什么?
- “可比”的定义是什么?
- 在区分集/集合时支持复杂的相关性(例如相似性度量),而不仅仅是标准的“相等性”。
等等
【问题讨论】: