在设计你的领域模型时,应该坚持代表问题领域的东西,并且领域模型不应该包含审计信息。
所以,如果我在设计一只猫,它可能看起来像这样:
public Cat {
private Color furColor;
private Color eyeColor;
private boolean isDeclawed;
etc...
}
我不应该有像“updateDate”和“createTime”这样的属性,对吗?
现在,如果一个 Web 应用程序要在屏幕上显示一张猫的表格,你可能会有类似的东西:
名称眼睛颜色爪?最近更新时间 ------ --------- ------ ------------ 蓬松的绿色 No 10/31/2012 ETC...
因此,如果您不在域模型中保留上次更新时间,那么如何(正确地)将该数据获取到页面?
显然,我可能有一个设计不佳的域模型,但我想做得更好。
我曾考虑创建一个接受泛型的对象,以便我可以保持我的域模型原始。IE
public PersistableObject<T,K> {
private T domainObject;
private Date updateDate;
private User updateUser;
getters, setters, etc...
}
但是,我担心我会遇到一些问题。
我已经对“域模型”和“更新日期”等进行了很多搜索......但我认为我错过了正确的术语。
有人可以指出我正确的方向吗?