採取有人想填到一系列的網站獲取RSS流這個骨架類:值檢查類內部或外部的邏輯?
public class RSSStream extends Thread {
public RSSStream(String rssStreamName,String rssURL,int refreshTime){
// constructor code goes here
}
}
現在,讓我們考慮refreshTime必須大於零且rssURL應該是一個有效的HTTP地址。
明顯的反射是在構造函數中有一些值檢查邏輯。然而,無論發生什麼,對構造函數的調用都會實例化Object。這意味着如果這些值不允許它完成它的工作,則該對象最終會變得毫無用處。這也意味着對象應該最終被拋棄或重用。
所以,這裏的一對夫婦對主題的問題:
- 爲什麼有些班級實行再加上什麼可能是一個私有構造一個getInstance()方法?如果我記得清楚,一個例子就是GregorianCalendar。
- 你會在什麼情況下使用這種相同的方法?
- 在大多數情況下,你的構造函數中是否有檢查邏輯?
- 如果是這樣,你是否將此應用於域模型的持久化上下文中使用的實體類?
您的全部答案是受歡迎的。瞭解最常見的做法將會很有趣。
爲什麼不在構造函數中拋出異常? – 2009-12-07 10:33:48