質問
最近、私の友人が就職の面接で、標準シングルトンとモノシングルトンの違いを尋ねられました。この用語を聞いたことがなく、単純なGoogle検索では意味のある結果が返されません。
私の友人は、コンストラクターはパブリックですが、すべてのメンバーが静的であるオブジェクトであることを提案しました。これは、コンストラクターをまったく必要としない静的オブジェクトであるため、私には少しばかげているように見えます。
モノシングルトンのより良い定義はありますか?標準的なシングルトンに対して有用なものですか?
解決
実際には「モノステート」を意味していたと思います。詳細については、グーグルで簡単に検索できるようになりました(シングルトンとの違いについての議論とともに)。
ただし、Monostatesは少なくともすべて同じ問題とシングルトンを抱える傾向があり、可能な限り避ける必要があります(代わりに上からパラメータ化、または必要に応じて依存性注入。
他のヒント
「シングルトン」がn個のインスタンスをサポートするように変更できます。nは固定数です。しかし、これはマルチプルトンまたはマルチトンと呼ばれることを学びました(正確な名前は忘れていましたが、それに似ていました)。インタビュアーが、オブジェクトのn個のインスタンスを実現するために、Singletonパターンに非常によく似たものを使用できる点に到達したかった可能性があります。しかし、その場合、それを置くのは厄介な方法でした。
「モノシングルトン」のグーグルでのヒットは1つだけです。 (引用符付き)、したがって、「Javaシングルトン」ではなく、プラットフォームに依存しないDotNetフレームワークで使用されるシングルトンとして解決します。または「C ++シングルトン」。
申し訳ありませんが、抵抗できませんでした:)
これまで使用された用語は聞いたことがありませんが、1つのインスタンスのみを作成できるシングルトンを指すのに使用されていると思います。 (一般的なシングルトンはそれを必要とせず、限られた数のインスタンスを提供することもできます)。
それ、またはそれはモノラルで行われたシングルトンです...