ActionScript3で半Singleton

それなりブログ さんの AS3で半Singleton に触発されて、 ちょっと試してみたよ。

ActionScript の制限でコンストラクタは public 宣言しないとダメらしく、 完全なSingletonは無理っぽい。 まぁ、そこらへんは「半」って事で、こんな感じでどうでしょ?

package
{

    public class Singleton
    {
        /**
         *  インスタンスを保持。
         */
        private static var _instance:Singleton;

        public static function getInstance():Singleton
        {
            // 既にインスタンス化されているかチェック。
            if (!(_instance is Singleton))
            {
                // インスタンスを生成し、保持する。
                _instance = new Singleton();
            }
            return _instance;

        }

    }

}

これだと1回目のnewを気にしなくて良いかなぁ?なんて思ったり。 検討違いだったらすんません。

Posted at: 
2007/10/24 23:23:19
2 Comments
0 TrackBacks
Tags: 
ActionScript
Flash
Trackback: 
http://humming.via-kitchen.com/2007/10/24/singleton-on-actionscript3/trackback/

TrackBacks

まだ登録されていません。

Comments

kjirou

Function.prototypeをいじって、ひとつgetInstanceを作ればいいなら、そっちの方がいいすねー。

各クラスに個別に入れるなら、簡単な方がいいなぁ。

Created at: 
2007/10/25 02:02:34

nobu

動的にクラスを引いてインスタンス化出来ないのがネックっすなぁ。

Created at: 
2007/10/25 03:13:39

Add Comment

Add Comment