말그대로 하나로만 사용되는 것이다. 개발하다 보면 반복적으로 사용되거나 어플리케이션 전역적으로 사용되는데 아주 유용한 것이다. 특히 인스턴스를 직접 생성할 필요가 없는 이점을 가지고 있다. 이 클래스 자체가 인스턴스라고 봐도 무방할 것 같다.
if (_instance != null) throw new Error("This class is a singleton class");
이 코드는 싱글톤 생성자 함수에서 빠지지 않는 구문이다. 이 구문은 인스턴스가 있으면 에러 처리 시키는 구문이다. 이 한 줄이 싱글톤을 다 보여 주는 것 같기도 하다. 싱글톤은 이름 그대로 오직 하나의 인스턴스만 가지게 된다. 그리고 시퀀시 상으로 한번에 하나의 일만을 처리하게 된다. 동시에 두 가지 일을 할 수 없는 것이다.
public static function getInstance() : InsertUpdateDelProxy {
if (_instance == null )_instance = new InsertUpdateDelProxy()
return _instance as InsertUpdateDelProxy
}
위 메서드를 보면 인스턴스를 직접 생성할 필요가 없는 이유를 알수가 있다.
InsertUpdateDelProxy.getInstance() <--- 이것이 바로 인스턴스가 되는 것이다.
이 클래스 내에 메스드가 있다면... 예를 들어 onMethod() 가 안에 있다고 치자. 이 메서드는
InsertUpdateDelProxy.getInstance().onMethod()
이렇게 쓸 수 가 있다. 그리고 개발되고 있는 클래스들 어디에서든 쉽게 불러 쓸수 가 있다. 참으로 유용해 보인다.
'prev record' 카테고리의 다른 글
[2010.05.14.금요일] URLVariable (0) | 2013.07.14 |
---|---|
[2010.05.13.목요일] MP3FileReferenceLoaderLib (0) | 2013.07.14 |
[2010.05.11.화요일] SharedObject (0) | 2013.07.14 |
[2010.05.10.월요일] FileReference (0) | 2013.07.14 |
[2010.05.08.토요일] 디스플레이 계층간의 좌표, 전체화면으로 전환, metaData (0) | 2013.07.14 |