POJOs的Java设计思想
我试图理解java POJO的最佳设计概念。如果我有一辆POJOs的Java设计思想,java,design-patterns,domain-driven-design,Java,Design Patterns,Domain Driven Design,我试图理解java POJO的最佳设计概念。如果我有一辆汽车这样的物体: 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
汽车
这样的物体:
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;
}
}
这个carpojo应该有更多的方法,比如getgasmilence
或gettirepression
,还是应该将这些方法放在接受car
对象的实用程序/接口中
这是一个基于当前代码库的设计问题,使用域驱动设计(DDD),实体对象包含
getgasmilence
等方法。一个pojo/实体应该只包含getter/setter代码,还是也包含其他方法是一种好的做法?根据发明这个术语的人的说法,pojo旨在包含业务逻辑
这个词是丽贝卡·帕森斯、乔什·麦肯齐和我在2000年9月的一次会议上准备演讲时创造的。在演讲中,我们指出了将业务逻辑编码为常规java对象而不是使用实体bean的许多好处。我们想知道为什么人们如此反对在他们的系统中使用常规对象,并得出结论,这是因为简单对象缺少一个别致的名称。所以我们给了他们一个,它非常流行
出现混淆的原因是POJO经常与Javabean混淆。请参阅:POJO只包含字段和它们的getter/setter。任何处理
Car
对象的逻辑都应该被提取出来以划分类别。这是一个观点问题,也是一个激烈的争论,请尽你最大的判断。我的POJO中有很多方便的方法。。。打我吧