在What is an efficient way to implement a singleton pattern in Java?問題中,最有效的答案是使用Enum來實現單身人士。處理必須繼承的單身人士
這很好,我理解的論據,分別語言優勢。
但是,我有一組類,它們定義了單例,但是需要擴展其他類,這對於枚舉方法是不可能的,因爲枚舉不能繼承的子類。
約書亞·布洛克說,在他的幻燈片:
- 但有一件事是失蹤,你不能擴展枚舉類型
- 在大多數情況下,你不應該
- 一引人注目的使用案例操作代碼
在大多數情況下,你不應該:有人可以詳細說明那?我已經實現了幾個servlet,並且它們擴展了HttpServlet
,爲什麼它們不應該是單例?我只需要在我的應用程序中使用它們的一個實例。
請你能解釋爲什麼你想要一個singleton servlet(導致這種選擇的約束是什麼)? – Romski 2012-07-12 14:20:22
@Romski應用程序只需要這個servlet的一個實例。 – Mahoni 2012-07-12 14:36:25
enum可以實現接口。這意味着您只有一個使用另一個類中定義的功能的實例。 – 2012-07-12 18:01:26