一千萬個為什麽

搜索

為Actionscript實現singleton類

我知道actionscript在任何時候都不允許私有contstructor但是如果我想在動作腳本中編寫一個sinlgleton類那麽如何在actionscript中實現它。

任何人都可以在actionscript中提供單例模式的示例嗎?

最佳答案

我使用這樣的東西:

package singletons
{

    [Bindable]
    public class MySingleton
    {
        private static var _instance:MySingleton;

        public function MySingleton(e:Enforcer)  {
            if(e == null) {
                throw new Error("Hey!  You can't do that!  Call getInstance() instead!");
            }   
        }

        public static function getInstance():MySingleton {
            if(_instance == null) {
                _instance = new MySingleton (new Enforcer);
            }
            return _instance;
        }
    }
}

// an empty, private class, used to prevent outside sources from instantiating this locator
// directly, without using the getInstance() function....
class Enforcer{}

轉載註明原文: 為Actionscript實現singleton類