プログラミングにおける設計パターンに、シングルトンというものがあります。
シングルトンは、1プログラム中に2つ以上生成され得ないことを規定されたオブジェクトで、
例えば、SDIのテキストエディタならウィンドウオブジェクト、ゲームならサウンド
スプライトの管理機関オブジェクトがシングルトンとして設計される可能性があります。
また、
あるオブジェクトを設計した場合、導入処理と終了処理が必要とされる場合がほとんどで、
そのため、一般的なオブジェクト指向言語ではあるオブジェクトの生成時、
破壊時に自動的に呼び出される処理を記述できるようになっています。
さて、
シングルトンはそれを利用する時点でいつでも生成され、プログラムが終了する時に
自動的に破壊される、このように設計するのがよくあるやり方です。
ただしこの方法、生成時は問題無いのですが、プログラムの終了時に
全てのシングルトンが先を争って死んでいきます。その状況において
あるシングルトンを破壊する時に別のシングルトンが必要になったんだけど
彼もう殺っちゃったヨどうしよう…ということが、起こったりするそうです。
で、
問題をどう解決するか。一つのそりゅうしょんとしては、
一回殺した彼に再びドラゴンボールかなんかで生き返ってもらって、
ちゃんと仕事やってもらってから、死になさいと。こうです。
(つうか当たり前に聞こえるかもしれませんが、実は結構めんどい設計になります)
で、
一般的な命名なのかはよくわからんけど、このように設計されたシングルトンを
「フェニックスシングルトン」
と呼ぶのだと聞いて、めっちゃ気にいったと。
たったそれだけゆうのに、長々と解説を始めたりしたのでした。
あと、ちょっと威張ってみたかったんです…