Ric*_*ard 1 java design-patterns domain-driven-design
我试图理解 java POJO 的最佳设计概念。如果我有一个car像这样的对象:
public class Car {
private String color;
private String make;
private String model;
private int year;
public Car(String color, String make, String model, int year) {
this.color = color;
this.make = make;
this.model = model;
this.year = year;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getMake() {
return make;
}
public void setMake(String make) {
this.make = make;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
Run Code Online (Sandbox Code Playgroud)
这个汽车 pojo 是否应该有更多的方法getGasMileage,或者getTirePressure应该将这些方法放在接受对象的实用程序/接口中Car?
这是一个基于当前代码库的设计问题,使用域驱动设计 (DDD) 和包含getGasMileage. pojo/实体应该只包含 getter/setter 代码,还是包含其他方法是一个好的做法?
根据发明该术语的Martin Fowler 的说法,POJO 旨在包含业务逻辑。
这个术语是在 2000 年 9 月 Rebecca Parsons、Josh MacKenzie 和我准备在一次会议上发表演讲时创造的。在演讲中,我们指出将业务逻辑编码到常规 Java 对象中而不是使用 Entity Bean 的许多好处。我们想知道为什么人们如此反对在系统中使用常规对象,并得出结论,这是因为简单的对象缺乏花哨的名称。所以我们给了他们一个,而且很受欢迎。
之所以会出现混淆,是因为 POJO 经常与 Java Bean 混为一谈。请参阅:JavaBean 和 POJO 之间有什么区别?
| 归档时间: |
|
| 查看次数: |
1159 次 |
| 最近记录: |