我正在使用Hibernate.它很棒.但是,假设我有一个对应于数据库表的类,只有getter和setter以及toString,相同的方法.现在我想添加一些帮助目的的方法,例如,假设我想使用一些添加的描述文本获得创建日期,如下所示.
public class Client {
private long id;
private Calendar creationDate;
protected String password;
public long getId() {
return id;
}
@SuppressWarnings("unused")
private void setId(long id) {
this.id = id;
}
public Calendar getCreationDate() {
return creationDate;
}
public void setCreationDate(Calendar creationDate) {
this.creationDate = creationDate;
}
..
.. some other getters and setters that corresponding to SQL columns
//Here I would like to have some help methods. Is it recommended to put it here?
public String getCreationDateInSecs() {
return "Date in secs: " + creationDate.getTimeInMillis * 1000;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:我应该在哪里放置这种方法?
我应该将它与Value Object放在同一个类中,还是应该将它放在其他地方?如果你知道我的意思,我想知道最好的做法=)
最好的祝福
Bozho基本上概述了两种可能的方法:丰富的模型和贫血模型,并建议丰富的模型作为更多的OOPish.我会在这里提倡一种贫血的方法.
您描述的功能看起来像表示层的责任.我认为将它放入与UI相关的类而不是域模型中会更好.
只要逻辑简单,将其置于域模型中就会变得无害
return "Date in secs: " + creationDate.getTimeInMillis * 1000;
Run Code Online (Sandbox Code Playgroud)
但是,假设您还需要返回本地化描述.您必须在域模型中添加对本地化设施的依赖性,这会增加代码的耦合.
因此,最好将不同层的职责分开.
| 归档时间: |
|
| 查看次数: |
715 次 |
| 最近记录: |