皆さんこんにちは。
私はJavaでいくつかの質問について考えていました。私が今まで働いていたすべての企業は、優れたカプセル化されたコードに煩わされることはありません。これが原因で、私は自分の頭の中でこの質問をしました。
オブジェクトをアチュアライズするという古い問題を解決するためのより良い微妙な方法は何ですか。
getter と setter を使用して (検証なしで) anemics エンティティを作成するか、同じオブジェクトをパラメーターとして渡し、それに続く属性の新しい値を渡します。
元:
貧血実体:
public class RenterGrouping implements Serializable {
private Integer idRenterGrouping;
private String name;
public RenterGrouping() {
}
public RenterGrouping(String name) {
this.name = name;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idRenterGrouping", unique = true, nullable = false)
public Integer getIdRenterGrouping() {
return idRenterGrouping;
}
@Column(name = "name")
public String getName() {
return name;
}
public void setIdRenterGrouping(Integer idRenterGrouping) {
this.idRenterGrouping = idRenterGrouping;
}
public void setName(String name) {
this.name = name;
}
}
または代わりに 2 番目の方法 (セッターなし):
public class RenterGrouping implements Serializable {
private Integer idRenterGrouping;
private String name;
public RenterGrouping() {
}
public RenterGrouping(String name) {
this.name = name;
}
public RenterGrouping updateRenterGrouping(RenterGrouping renterGrouping, Integer idRenterGrouping, String name) {
renterGrouping.idRenterGrouping = idRenterGrouping != null? idRenterGrouping : null;
renterGrouping.name = name != null? name : null;
return renterGrouping;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idRenterGrouping", unique = true, nullable = false)
public Integer getIdRenterGrouping() {
return idRenterGrouping;
}
@Column(name = "name")
public String getName() {
return name;
}
ここでの重要な事実は、オブジェクトとその属性を保護することです。
他の誰かがupdateRenterGroupingメソッドに同意しますか?
皆さんのフィードバックを待っています。君たちありがとう!