`

as3中单例模式的实现方法

 
阅读更多
今天在学习pureMVC的时候发现了实现单例模式的另一种方法。如下

public class Model{

	public function Model(){
		If(instance !=null )throw Errow(SINGLETON_MSG);
		Instance = this;
         }

       public static function getInstance():Model{
	    if(instance == null)instance = new Model();
	    return instance;
       }

      private static var instance:Model;
      private const SINGLETON_MSG:String = “Model Singleton already constructed!”;
}


以前实现单例模式的都是在构造方法里传入另一个类:如下:
public class Singleton{
	public static var _instance:Singleton;
	public function Signleton(pvt:PrivateClass){}
        public static function getInstance():Singleton{
	    if(Singleton._instance == null){
		Singleton._instance = new Singleton(new PrivateClass());
        }
        return singleton._instance;
  }
}

Class privateClass{
	public function privateClass(){
		trace(“privateClass called.”);
        }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics