单件模式(singleton)

我前面一个人买了一条巨大的鸡腿,我说我也要一条,师傅说,就这一条

举例:单件模式的应用是相当广泛的,它确保每个实例在全局范围内只被创建一次,我们flash里的mc大多数是单件。内核里的核心组件也只是单件,比如我的消息映射列表(见后)。
按照单件模式的严格定义,应该让类负责保存它的唯一实例。但是我在Flash里还想不到怎么实现这一点,或者实现它的意义所在,但另外一点我们可以做到,就是在全局范围内只提供该对象的唯一访问点。这可以由层次关系做到,把对该对象的访问具体实现全部封装在下层,只给上层提供唯一的访问点(原因是,上层不知道这个单件的具体信息,比如路径)。
看我内核文件的一部分:

 
//Core.as
//内核
class Core {
    var strucGlobalParam:ConfigVariables;
    
//站点信息
    var xmlConfig:XML;
    
//站点信息的xml化对象
    var ArrayStructureInitial:Array;
    
//用来提供给loadObject对象的数组
    var ArrayForBtn:Array;
    
//用来初始化导航条组件的数组
    var objInitial:loadObject;
    
//读取影片的对象
    var objMessageMap:MessageMap;
    
//消息映射组件
}

这是我的内核类也就是全站最核心类的数据结构。里面的数据只有通过下层的BasicMovie,OriginalFunctionObject等类(见后)直接访问。

备注,核心思想是,确保只有一个。

原文地址:https://www.cnblogs.com/sevenyuan/p/1608644.html