プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

5.Singleton たった1つのインスタンス

指定したクラスのインスタンスが絶対に1個しか存在しないことを保証したい
インスタンスが1個しか存在しないことをプログラム上で表現したい
コンストラクタをプライベートにすることで外部でnewできなくする。

f:id:p-monster:20121217203303p:plain

Singleton・・・自分自身のインスタンスをstaticで持って取得できるようにし、コンストラクタを非公開にする。

制限を設けることで過ちを犯さずに済む。

関連しているパターン

インスタンスが1つであることが多いパターン
AbstractFactory、Builder、Facade、Prototype

参考:

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門