Singleton オブジェクトの作り方
|
94 |
Singleton |
動作確認 |
Delphi2007 |
更新日 |
2010/06/23(水) |
デザインパターンでいうところの Singleton パターンを使って
単一のインスタンス(オブジェクト)が
使用するときに必要になった時に生成されるものを作ることができます。
このやり方はVCLでは、Application Screen Printer オブジェクトなどで
使用されていて、よく使われるタイプのオブジェクトの作り方です。
クラスの利用者が生成・破棄のタイミングを考えなくても
使えるようになっています。
────────────────────
interface
function MyClass: TMyCLass;
implementation
var
instance: TMyClass;
function MyClass: TMyCLass;
begin
if instance = nil then
instance := TMyClass.Create;
Result := instance;
end
initialization
instance := nil;
finalization
if instance <> nil then
instance.Free;
────────────────────
MyClassを使用すると、最初に呼び出された時に生成され
生成されていたら後は勝手に破棄されます。
|