現在參數都流行用外部設定~
不過這次不想,就試著使用 enum 這種東西來定義看看~
先定義自訂項目的基本資訊~
public enum CustData {
Group("Group", true, "xxx");
private String pId;
private boolean isActive;
private String callMethod;
prviate Object cache;
private CustData(String id, boolean active, String callMethod) {
this.pId = id;
this.isActive = active;
this.callMethod = callMethod;
}
public String getPid() {
return pId;
}
public boolean isActive() {
return isActive;
}
public String getCallMethod() {
return callMethod;
}
public void setCache(Object obj) {
cache = obj;
}
public Object getCache() {
return cache;
}
}
在Pool裡Init時,就把相關的全讀進去~
其實偶想紀錄的重點只在 Object[] all = c.getEnumConstants();
總之就是取得所有定義的物件
Class c = Class.forName("mypackage.CustData");
Object[] all = c.getEnumConstants();
for(int i = 0 ; i < all.length ; i++) {
CustData cd = (mypackage.CustData)all[i];
Object obj = loadCustData(cd);
cd.setCache(obj);
.......
}
是說~用enum有什麼差別??...
修改彈性不太好(當然是比不上寫設定檔)
程式可讀性是高了點,因為可以定一些有意義的名稱,常數上應該是比較好看~
只是說,有時候做非開放式系統,也不用說什麼都做到設定檔上去,
有時候寫死增加別人偷code的難度,好像也是一種生存理論XD...
沒有留言:
張貼留言