第四章看的还是有点懵懵懂懂,慢慢回味得了,哈哈。。。现在写一写笔记
第四章讲的是单件模式,按书上的说法是用于限制类的实例化次数,并提供对该实例的全局访问。在单件模式中,类只能实例化一次。
单件模式应该是针对那些在操作过程只需实例化一次的类,比如电脑的鼠标类,不可能有多个鼠标实例,这时候我们就需要单件模式了。
单件模式必须具备的3个元素:①私有静态属性;
②公共静态方法;
③用于限制类再次实例化的方式
其实单件模式最麻烦的是如何控制实例的创建过程,在过程中阻止实例的第二次生成。所以我们就想到静态方法,因为静态方法不属于实例,而是属于类,所以在类实例创建之前它就已经给调用了。
构建简单的单间类
package com.peachpit.aas3wdp.singletonexample{
public class Singleton{
static private var _instance:Singleton;
public function Singleton(singletonEnforcer:SingletonEnforcer){
}
public static function getInstance():Singleton{
if(Singleton._instance==null){
Singleton._instance=new Singleton(new SingletonEnforcer());
}
return Singleton._instance;
}
public function doSomething():void{
trace("SOMETHING");
}
}
}
class SingletonEnforce{}
调用单间类
package{
import com.peachpit.aas3wdp.singletonexample.Singleton;
import flash.display.Sprite;
public class SimpleSingletonExample extends Sprite{
public function SingletonExample(){
Singleton.getInstance().doSomething();
}
}
}
单件模式,还没好好体验过呢。。哈哈
转载于:https://blog.51cto.com/bocaipeng/611489