シングルトン
シングルトンクラスは、アプリがそれを何回要求したかに関係なく、同じインスタンスを返します。シングルトンクラスでは、プロセスごとに、クラスのインスタンスが1つしか存在しませんが、一般的なクラスは、それらが望むだけクラスのインスタンスを作成するのを、発信者に許可します。シングルトン・オブジェクトは、そのクラスのリソースへのアクセスのグローバルな点を提供します。シングルトンは、いくつかの一般的なサービスやリソースを提供するクラスで、この制御の一点が望ましい状況でで使用されます。
ファクトリメソッドを通じてシングルトンクラスからグローバルインスタンスを取得できます。クラスは怠けて、その唯一のインスタンスをそれが要求された時、初めて作成し、その後は他のインスタンスは作成できないことが保証されます。シングルトンクラスはまた、コピー、保持、またはインスタンスの解放を発信者がしないようにできます。それらの必要性を見つけた場合は、あなた自身のシングルトンクラスを作成できます。例えば、アプリ内の他のオブジェクトにサウンドを提供するクラスがある場合、それをシングルトンに作る事ができます。
いくつかの Cocoa フレームワーククラスはシングルトンです。それらは、NSFileManager、NSWorkspace を含み、そして、UIKit では、UIApplication と UIAccelerometer を含みます。シングルトン・インスタンスを返すファクトリメソッドの名前は、慣例により、sharedClassType の形式です。Cocoa フレームワークからの例としては sharedFileManager、sharedColorPanel、および sharedWorkspace です。
前提条件の記事
関連記事
既出の議論
(なし)
次の章
前の章