GoFのデザインパターンの中でも特に知名度の高い (そして間違った使われ方の多い) Singleton パターン, 皆様は有効活用してますか? 今回は自分の考える Singleton パターンの有効な使いどころを NG コード集も添えて説明したいと思います. (※サンプルコードは Java と PHP で記載します) 概要 Singleton パターンを適用すべき条件について, 結論を簡単に書いてしまうと 状態を持たないこと ポリモーフィズムが絡む (抽象クラスまたはインタフェースを実装している) こと の 2 点に尽きます. おそらくこれらを無意識的に実践しているプログラマーも多いのではないかと思います. 状態を持たないこと 鉄則です. メンバ変数を含んだシングルトンパターンって, それ単なるグローバル変数ですから! WEB アプリケーションのフレームワークなどでこんなコードを見たことは