Singletonと言えば、オブジェクト指向言語におけるデザインパターンの一つのことです。 とあるクラスのインスタンスが高々1個までしか存在しないことを保証するクラスのことを指します。 Singleton パターン - Wikipedia Singletonには重大な欠点があります。このWikipediaの記事でも指摘されているように、グローバル変数として利用することができてしまい、コードの保守性に問題を来すことがあるのです。 この問題点および解決策などについて詳しくは、2013年6月のCocoa勉強会関西における @kaniza さんの発表スライド ワタシはSingletonがキライだ を参考にされると良いでしょう。 しかし、上記のスライドの中で指摘されている通り、Singletonには誘惑があるのも事実。基本的に筆者はこの誘惑に負ける程度の人間です(小規模なソフトウェアを作る時は特に)
![もう一つのSingleton - 職業プログラマの休日出勤](https://cdn-ak-scissors.b.st-hatena.com/image/square/80d7662a043b996e6bcc98b552e2aa1a2467c0f7/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ft_motooka%2F20130912%2F20130912232436.png)