单件模式(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等类(见后)直接访问。

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

你可能感兴趣的:(Singleton)