AS3 – Singleton pattern

ActionScript 3에서 완벽하게는 singleton pattern을 구현할 수 없는데, 그 이유는 private인 생성자를 만들 수 없기 때문입니다. 그래서 몇 가지 팁이 있는데 “Extremely safe singleton classes” 포스트에서는 inline class (접근자가 명시되지 않은 class를 나타내는 듯 합니다. package 내에서는 기본 접근자는 internal이며 이는 동일한 package 내에서만 접근 할 수 있음을 의미합니다)를 이용하는 방법을 사용하고 있습니다.

Singleton class의 생성자에 파라미터가 존재하고 해당 파라미터는 동일한 package 내에 있는 class의 instance입니다. 그런데 해당 class가 internal 접근자를 가지므로 해당 package 외부에서는 instance를 생성할 수 없습니다. 따라서 다른 package에서는 singleton class를 일반적인 방법(new)으로 생성할 수 없고, 반드시 getInstance() method를 사용해야 합니다.

하지만 package 내에서는 new를 이용해 새로운 instance를 생성할 수 있으므로 완벽하지 않습니다. 아직까지 제가 본 바로는 완전한 singleton class를 생성할 수 있는 방법은 없는듯.

Leave a Reply