クラスフィールドまたは単純フィールドを持つようにpojoを作成するのがよい方法は何ですか? 私はこのような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;
}
}
}
それがどのような違いを生むん以下のように、このようにやってrecommanded?それらの2つの間で良い練習は何ですか? 私はこのクラスを使用してdb情報を設定し、Webソケットクライアント(stomp)に情報を送信します
答えは、あなたのクラスが必要としていると思われるものによって異なる場合があります。どのようなクラスを使用するかについての情報を追加できますか? –
@TimBiegeleisenと同意すると、今ここで詳細が必要ですが、今はまあまあの種類です。最初のケースは「フラット」ですが、* Total *についてのフィールドを変更するたびに* StatusDTOを変更する必要があります(つまり、新しい合計を追加する場合)。* 2番目のケースでは、合計* StatusDTO *に触れることなく拡張することができますが、* NullPointerException *をチェックする必要があります(最初のケースではそうではありません)。 –
クラスが長すぎると分割することをお勧めします。どのように分割すればよいかは、コードのセマンティクスに大きく依存します。結合、結合、単一責任の原則について読むべきです。[抽出クラスのリファクタリング](https://refactoring.com/catalog/extractClass.html) )は意味がある場合の素敵な簡単な例を持っています。 –