2013-08-22 65 views
1

我有一個直接的問題:是一個很好的實踐使用Singleton模式來控制一個可響應登錄任務的類,或者另一個模式更適合嗎?或者不存在一個模式來做這種類型的操作系統問題?作爲Singleton類登錄

謝謝。

+0

我已經編輯了一些答案,請檢查編輯。 –

回答

1

現在很少有人使用單身人士,因爲他們幾乎成爲反模式。我會推薦學習依賴注入(DI)

使用DI,您可以將您希望用作單例的對象註冊到一個容器,並且該容器將服務或將該對象提供給所有需要它的其他對象。當然,您可以將對象註冊爲單例- 但不是通常的單例 -,並且容器將保證所有需要它的對象都將接收相同的實例。不過,如果你正在構建一個小應用程序,那麼使用Singleton模式並避免DI是更好的。

喬恩斯基特具有非常nice article約Singleton模式,或者如果您使用的是Java,那麼你可以使用枚舉來實現它,看看在谷歌的實現技術。

0

當您必須防止創建同一類的多個實例時,會使用單例模式。我真的不知道登錄類應該只有一個實例的情況,所以我會說使用這種模式登錄類是矯枉過正。

話又說回來,引入DI框架時,你只需要一個簡單的單...現在多數民衆贊成矯枉過正:)

0

是,也不是。沒有「最好」或「更壞」的做法。

只要做到這一點,如果使用單例使測試變得更加容易,並且如果該方法能夠在學習和實施DI之前將您帶到酒吧,僅僅是爲了登錄目的。