第3條:用私有構(gòu)造器或者枚舉類型強化Singleton屬性
Singleton指僅僅被實例化一次的類葱淳,通常被用來代表那些本質(zhì)上唯一的系統(tǒng)組件钝腺。如果項目通過Spring構(gòu)建,可以通過Spring來管理Bean赞厕,默認情況下在Bean的為單例模式艳狐。
第4條:通過私有構(gòu)造器強化不可實例化的能力
有的類只有靜態(tài)方法和靜態(tài)域時,就可以定義私有構(gòu)造器來明確說明該類不可實例化皿桑,一般多用于工具類毫目。
第14條:在公有類中使用訪問方法而非公有域
簡書面向?qū)ο笤O(shè)計的思想,對于可變類來說诲侮,應(yīng)該用包含私有域的公有設(shè)值方法(setter)類代替镀虐。例如:
public class Point {
private double x;
private double y;
public double getX(){
return x;
}
public double getY(){
return y;
}
public void setX(double x){
this.x = x;
}
public void setY(double y){
this.y = y;
}
}
如果類可以在它所在的包外部進行訪問,就提供訪問方法 沟绪,避免直接訪問類的域粉私。如果類是包級私有的,或者是私有的嵌套類近零,直接暴露它的數(shù)據(jù)域并沒有本質(zhì)的錯誤诺核。