본문 바로가기
Delphi/문법

델파이(Delphi) 디자인패턴(Design pattern) 3탄

by MonoSoft 2021. 6. 1.
728x90
반응형

델파이(Delphi) 디자인패턴(Design pattern) 3탄

 

싱글톤(Singletone) 패턴

 

 

Singletone 은 single + tone 의 복합어
즉, 하나 + 논조 [ 論調 ] 

 

 

논조 : 논하는 말이나 글의 투. 

 

위 말을 디자인패턴의 형식에서 풀어 보면 프로그램 전체에서 

"오직 하나의 인스턴스 가 존재하여야 한다는 원칙" 입니다.

이런 원칙을 세워서 프로그램을 개발해야 하는

이유는 원칙을 위배하게 되면

프로그램이 뒤죽박죽이 될 수 있기 때문입니다.


프로그램 개발에 있어 싱글톤으로 생성해야 하는 

클래스 인스턴스가 여러가지가 존재하겠지만

가장 기본이되고 필수적인 클래스가 바로 

어플리케이션의 설정값을 들고 있는 

프로그램 설정값 클래스입니다.

 

특수한 경우가 아니라면 설정값은 프로그램 전체에서 

하나이면 족한 경우가 많은데,

이때 싱글톤 패턴으로 설정값을 보관하는 

클래스를 생성하게 됩니다.

 

싱글톤 패턴의 핵심은 특정 클래스에 대해 

하나 이상의 인스턴스를 생성하지 못하게 하는 역활입니다.

그러기 위해서는 클래스의 생성자에 다음과 같은 

적절한 조치를 필수적으로 해 주어야 합니다.

 

constructor TAppConfig.Create;

begin

  if gAppConf <> nil then begin

    ShowMessage('이 객체는 싱글톤으로 쓰여지고 있으므로 다중생성할 수 없습니다.');

    Abort;

  end else begin

    inherited Create;

    gAppConf := Self;

  end;

end;

 

이 것이 싱글톤 패턴의 핵심입니다. 아주 간단하죠?

예제는 첨부파일에 해 두었습니다.

첨부파일Singleton.zip 파일 다운로드
참고로, 예제는 전역변수들을 저장하는 클래스가 따로 있으며, 

다른 클래스들은 이 클래스의 

인스턴스를 통해 전역변수에 접근하는 방법을 사용합니다. 

 

Singleton.zip
0.21MB

728x90
반응형

댓글