Singleton Pattern

From YYpBD's MediaWiki

Jump to: navigation, search

목차

개요

인스턴스가 하나만 있는 객체를 만드는 Design Pattern이다.

전역변수와 달리 필요한 경우에만 인스턴스를 생성해 사용할 수 있으며 불필요하게 자원을 소비하는 문제를 해결할 수 있다.

예제

Delphi

  TClass = class
  strict private
    class var FInstance: TClass;
    constructor Create;
  public
    class function GetInstance: TClass;
    destructor Destroy; override;
  end;

implementation

class function TClass.GetInstance: TClass;
begin
  If FInstance = nil Then
  begin
    FInstance := TClass.Create();
  end;
  Result := FInstance;
end;

initialization

finalization
  TClass.GetInstance.Free;

Java


public class TClass
{
	private static TClass FClass;
	
	private TClass(){}
	
	public static TClass GetInstance()
	{
		if( FClass == null )
		{
			FClass = new TClass();
		}
		
		return FClass;
	}
}

맞춤검색