我试图了解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;
}
}
这个汽车pojo应该有更多的方法,如getGasMileage
或getTirePressure
,还是应该将这些方法放在一个接收Car
对象的实用程序/接口中?
这是一个基于当前代码库的设计问题,使用域驱动设计(DDD)和包含getGasMileage
等方法的实体对象。 pojo / entity应该只包含getter / setter代码,还是包含其他方法的好习惯?
答案 0 :(得分:3)
这个词是在Rebecca Parsons,Josh MacKenzie和我准备在2000年9月的一次会议上准备的时候创造的。在演讲中我们指出了将业务逻辑编码为常规java对象而不是使用Entity Bean的许多好处。我们想知道为什么人们如此反对在他们的系统中使用常规对象,并得出结论,这是因为简单的对象缺乏一个奇特的名字。所以我们给了他们一个,它很好地接受了。
发生混淆是因为POJO经常与Java Bean混为一谈。请参阅:What is the difference between a JavaBean and a POJO?