我是一名新程序員,試圖找到一些最佳實踐。我正在用一種方法編寫一個簡單的類。它需要很長的時間並且返回一個int(代表一個內存量),取決於這個長度有多大。這是單身人士的好用嗎?
我打算想要這些內存模型中的一個以上,並且它看起來每個人都應該是一個單獨的Singleton。這是Singleton模式的合理使用嗎?我不需要需要只有一個實例存在,但它似乎是這種類在概念上是一個單身人士。這是一個單身人士的好理由嗎?或者是否有意義添加一個私有構造函數並使該方法爲靜態?或者我是否過度整個事情?代碼是這樣的:
public class MemoryModel implements SomeInterface {
public int get(Long links) {
final int result;
if (links < 700_000) {
result = 50_000;
} else {
result = 140_000;
}
return result;
}
}
編輯:如果我理解每個人的答案是正確的,答案是否定的。我不想要這個類的一個實例 - 沒有理由永遠實例化它。我應該讓這個方法是靜態的,永遠不需要實例化。
我還從單反模式被過度使用的答案和鏈接中感覺到,並且可能會產生問題,因爲它會創建一個全局實體。只有在有充分理由要求只存在一個實例的情況下,才應該使用單身。
建議閱讀:http://jalf.dk/blog/2010/03/singletons-solving-problems-you-didnt-know-you-never-had-since-1995/ –
爲什麼需要一個Long '而不是'長'?你不測試'null'這意味着如果'links'爲null,你將在'if'語句的行上得到一個NullPointerException。 –
在實際的代碼中,我測試了null。我只是拿出所有非必要的代碼,所以這個想法很清楚。 – csjacobs24