2008-10-29 70 views
0

最近,我的一位朋友在求職面試中被問到了一個標準的單身人士和一個單身人士的區別。我從來沒有聽說過這個詞,一個簡單的谷歌搜索不會返回任何有意義的結果。什麼是單聲道單身人士?

我的朋友建議它是一個構造函數是公共的對象,但所有成員都是靜態的。這對我來說似乎有點傻,因爲它只是一個靜態對象,根本不需要構造器。

有沒有人有更好的單聲道singleton的定義?與標準單身人士相比,這是否有用?

回答

4

我想他們實際上意味着「的Monostate」。我不會詳細討論細節,因爲它們現在很容易googleable(與Singletons的區別討論)。但是,我會說Monostates傾向於至少具有所有相同的問題和單例,並應儘可能避免(考慮其他方法,如Parameterise From Above或依賴注入,如果適用)。

1

我知道一個「singleton」可以修改爲支持n個實例,其中n是一個固定的數字。但是,我瞭解到,這被稱爲多打或多打(我忘了確切的名字,但它與此類似)。這可能是面試官想要說明的是,你可以使用非常像Singleton模式的東西來實現對象的n個實例。但是,如果是這樣的話,這是一個尷尬的方式。

0

我從來沒有聽說過這個術語,但我想它是用來指代只允許創建一個實例的單例。 (一般的單身人士不需要這樣做,它也可以給出有限數量的實例)。

要麼,它在單做一個單身......

+0

由GoF定義的單例只允許一個實例。限制實例的數量是Singleton的推廣。 – 2008-10-29 18:50:47

1

對於「mono singleton」(引號),google上只有一個命中,所以我將它解析爲一個平臺中性DotNet框架中使用的單例,而不是「Java Singleton」或「C++ Singleton」 。

對不起,忍不住:)