单例模式:
在面向对象的编程中,有时候会要求一个类有且仅存在一个实例,并提供一个全局的访问方法。 所以我们在设计这样的类的时候,就需要思考如何避开构造函数,提供一种机制来实现单例(单一实例)。 全局保持Model的唯一性。让view读取同一个model,这就是单例模式。
package QQB.Model{
import flash.events.EventDispatcher;
public class ModelLocator extends EventDispatcher {
public var allball:int=6;
private static var _instance:ModelLocator;
public function ModelLocator():void {
if (_instance) {
throw new Error("只能用getInstance()来获取实例");
}
}
public static function getInstance():ModelLocator {
if (_instance==null) {
_instance = new ModelLocator();
}
return _instance;
}
}
}
package {
import flash.display.MovieClip;
import QQB.Model.ModelLocator;
public class test extends MovieClip {
public var instance:ModelLocator = ModelLocator.getInstance();
//public var instance:ModelLocator = new ModelLocator();//这个实例一但声明以后声明会报错,实现单例
public function test():void {
trace(instance);
trace(instance.allball);
}
}
}