2008-10-29 72 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” 。

对不起,忍不住:)