【发布时间】:2012-02-10 00:39:34
【问题描述】:
假设我有一堂课,用户:
public class User {
private String name;
private Integer age;
private Double cash;
// Getters and setters...
}
一些神奇的系统为所有用户吐出数据,我的系统将其拾取。一些员工需要报告这些数据,但其中一些已知是不正确的。由于源系统是神奇的,没有人可以弄乱其中的用户数据,所以他们需要使用我的系统来更新这些数据,以便在报告中正确。因此,我想创建一个类似于以下内容的类:
public class UserUpdate {
private UserPropertyEnum property;
private Something newValue;
private Date dateAdded;
// Getters and setters...
}
所以问题在于我不知道我正在更改的字段的类型。我想我可以将 newValue 设为 Object 类型,并根据属性枚举的值进行转换...
无论如何,有没有很好的设计模式可以解决这个问题?如果有,在数据层是如何实现的(我用的是关系型数据库)?
(请不要发布“你不可改变的魔法系统是愚蠢的......不要存储已知不正确的数据”的帖子,因为我知道这一点并且完全无能为力。)
谢谢!
【问题讨论】:
-
我正在使用 Java。我觉得这个问题与语言无关。
-
啊,我正在考虑一些 C# 方法来实现它,但后来意识到它可能是 Java 呵呵。我想我会问的。
-
C# 很好!它至少可以让我走上正确的逻辑路径,在 Java 中实现类似的目标。谢谢! ;)
标签: design-patterns database-design