我想知道在什么情况下你使用封装.这个问题的目的是协作.因此,当主题被封装时,请随意分享您自己的经验.
一些场景:
计算财产
public class Order {
private List
自我验证域对象
public class Person {
private String name;
public void setName(String name) {
if(StringUtils.isBlank(name)) {
throw new NotEmptyException("name",name);
}
this.name = name;
}
}
对某些特殊行为使用其他类
public class Person {
private MutableInt id = new MutableInt();
/**
* Integer itself is immutable
*/
public Integer getId() {
retur id.intValue();
}
}
转变
public class Person {
public String enabled;
public boolean isEnabled() {
return "Y".equals(enabled);
}
}
最佳答案