我鑽進了討論,就以下問題同事:數十名的getter方法VS單get方法
我們的項目在一個配置文件,並將幾十個參數的讀取。他將這些數據與幾十個getter方法一起存儲在命名變量中。在我看來,這使得班級過於冗長,並且很難維持。
private var;
public String getVar() {
return var;
}
// This appears dozens of times in the class
......
我的解決辦法是將存儲在地圖鍵值對,並具有單個的getValue(字符串key)方法這需要作爲參數表示每個變量的密鑰。這些鍵將作爲常量列表存儲在Config類中,該類也將處理從文件讀取數據。
Config c = new Config();
c.readConfig(someFile);
...
c.getValue(Config.SOME_VAR);
他對我的設計的說法是,如果任意鍵需要改變或者過時,關鍵的所有實例必須被追殺,在他的設計在源代碼中的許多地方改變了,而一切從1個文件管理。此外,類型安全性帶來了問題,因爲從getValue()返回的String中的Integer.parseInt()可能會崩潰,而在他的方法中,返回類型是固定的。
有關上述的任何評論?謝謝。
也許這只是我..我不喜歡看超過2000行的類,其中一半隻是getX(){return X;} – david 2010-11-22 06:59:48
兩個字:代碼生成。 – cdhowie 2010-11-22 07:00:48
長期存在差異,難以維護。 @cdhowie是對的。根據配置格式的不同,您可能會將其作爲真正的「源」,並完全生成Java。 – 2010-11-22 07:05:44