Tag Archive for 'singleton'

Singleton pattern 에서 유의사항

Singleton pattern 으로 객체를 생성했을경우 플래시에서 뜻하지 않은 상황이 발생한다.

플래시에서 Export 한 후 Download simulate 를 하면 알수 없는 이유로 프로그램이 진행이 되질 않는다. 이것은 프로그램의 오류가 아니라 Singleton pattern 에서 인스턴스 참조값을 저장하기 위해 사용한 전역변수가 문제다.

다시말해, 플래시에서 simulate 를 하기 위해서는 Export 한 상태에서 한번 더 Ctrl+ Enter 을 눌러야된다. 이 상황에서 플래시는 메모리에서  전역변수를 소거하지 않고 그대로 남아있는 상태가 된다.

Singleton pattern 에서는 반드시 인스턴스는 단 한번 밖에 생성되지 않는다.

따라서 한번 Export 해서 생성된 인스턴스로 인해 simulate 할경우 원하지 않은 상황이 발생한다.

private static var sInstance:FramePulse = null;
public static function getInstance () : FramePulse {
    if (sInstance == null) {
      sInstance = new FramePulse();
    }
    return sInstance;
}

–> Download 테스트 시 메모리가 소거 되지 않아 전역속성인 sInstance 로 인해 인스턴스를 생성할 수 없다.