将pojo创建为具有类字段或简单字段的好习惯是什么。 我正在创造像这样的pojo。
public class StatusDTO {
private String id;
private int totalNodes;
private int totalServlets;
private boolean status;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getTotalNodes() {
return totalNodes;
}
public void setTotalNodes(int totalNodes) {
this.totalNodes = totalNodes;
}
public int getTotalServlets() {
return totalServlets;
}
public void setTotalServlets(int totalServlets) {
this.totalServlets = totalServlets;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
} 有人建议我这样做,如下所示
public class StatusDTO {
private String id;
private boolean status;
private Total total;
public Total getTotal() {
return total;
}
public void setTotal(Total total) {
this.total = total;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public static class Total {
private int nodes;
private int servlets;
public int getNodes() {
return nodes;
}
public void setNodes(int nodes) {
this.nodes = nodes;
}
public int getServlets() {
return servlets;
}
public void setServlets(int servlets) {
this.servlets = servlets;
}
}
}
它有什么不同?那两个人的好习惯是什么? 我正在使用此类来设置db info并将信息发送到Web套接字客户端(stomp)答案 0 :(得分:0)
嗯,好的Java应用程序中的一个重要事项是关注点分离,例如在机场应用程序中,提供客户最后一次飞行的服务不应该要求具有名字,姓氏的对象作为参数,社会安全号码,婚姻状况,性别或任何其他有关客户的信息,这些信息在检索客户的最后一次航班时完全无用(或应该),因此您需要有一个客户对象(包含所有客户信息)和另一个对象CustomerId(只有必要的位才能获得航班)。
另一个例子是网上商店应用程序,计算篮子总价的服务不应该要求所有关于篮子中所有文章(照片,描述,规格......)的信息,而只需要价格和折扣应该包含在另一个对象中。
在这里,你必须决定你的Total(你需要一个更好的名字)对象的问题是否可以单独考虑你的StatusDTO对象的问题,这样一个方法可能只需要没有关联的StatusDTO对象的Total对象。如果您可以单独使用它们,那么您应该有单独的对象,如果您不能这样做。
答案 1 :(得分:0)
在这些问题中,答案总是如此:这取决于。
像第一个类这样的简单类具有更简单和更小的优点。第二次尝试的优势在于,如果你的课程,也许是现在,或许以后,可以延长,如果你创建一个单独的Total课程可能会更容易。
良好的面向对象编程,Java非常强大,几乎总是要求你把所有内容都放在它自己的类中。
根据经验,我在以下情况下创建了一个单独的类:
当然还有更多,但这些是最重要的一些(如果您认为还有另一个我忘记提及的重要内容,请发表评论)。