package {
import flash.net.SharedObject;
public class LocalCache {
private var cache:SharedObject;
private static var _instance:LocalCache;
public function LocalCache(singletonEnforcer:SingletonEnforcer) {
if(singletonEnforcer==null){
throw new Error("singletonEnforcer");
}else{
cache = SharedObject.getLocal("proposal");
}
}
public static function getInstance():LocalCache {
if(LocalCache._instance == null) {
LocalCache._instance = new LocalCache(new SingletonEnforcer());
}
return LocalCache._instance;
}
public function putValue(key:String,value:Object):void {
cache.data[key]=value;
cache.flush();
}
public function getValue(key:String):* {
return cache.data[key];
}
public function clear():void {
cache.clear();
}
}
}
class SingletonEnforcer {}
* Windows XP:
o For Web sites: C:\Documents and Settings\<user>\Application Data\Macromedia\Flash Player\#SharedObjects\<random code>\<domain>\<path>\<object name>.sol
o For AIR Applications, C:\Documents and Settings\<user>\Application Data\<AIR Application Reverse Domain Name>\Local Store\#SharedObjects\<flash filename>.swf\<object name>.sol
* Windows Vista
o C:/Users/username/<user>/AppData/Roaming/Macromedia/Flash Player/#SharedObjects/<domain>/<path>/<flash filename>.swf/<object name>.sol
* Mac OS X:
o For Web sites, Macintosh HD:Users:<user>:Library:Preferences:Macromedia:Flash Player:#SharedObjects:<random code>:<domain>:<path from webserver>\<object name>.sol
o For AIR Applications, Macintosh HD:Users:<username>:Library:Preferences:<AIR Application Reverse Domain Name>:Local Store:#SharedObjects:<flash filename>.swf\<object name>.sol
* Linux/Unix:
o /home/<User>/.macromedia/Flash_Player/#SharedObjects/<domain>/<path>/<flash filename>.swf/<object name>.sol
AS3单例模式参考:http://life.neophi.com/danielr/2006/10/singleton_pattern_in_as3.html
分享到:
相关推荐
3. **分布式缓存**:利用如Redis这样的分布式缓存,将单例对象存储在缓存中,所有节点在需要时从缓存中获取。这种方法要求缓存系统支持原子操作,以保证只有一个节点能够成功写入单例对象。 4. **命名空间**:在...
单例模式在AS3中应用广泛,特别是在需要全局共享数据或资源的场合,如游戏中的全局配置、网络通信管理、舞台引用等。 总结来说,单例模式在AS3中的实现并不复杂,但其设计理念对于优化资源管理和提高代码复用性有着...
3. 应用配置:如全局的AppConfig,存储应用的配置信息,通过单例访问,保证配置一致性。 4. 网络请求管理:如OkHttp或Retrofit,使用单例可以缓存网络连接,避免重复创建,提高效率。 5. Handler或AsyncTask:单例...
单例模式是软件设计模式中的经典模式之一,其主要目的是控制类的实例化过程,确保在应用程序的整个生命周期中,某个类只有一个实例存在。这样的设计通常适用于那些需要频繁创建和销毁,但资源消耗较大的对象,如...
单例模式是软件开发中最基本的设计模式之一,尤其在Java编程中应用广泛。它的核心思想是确保一个类仅有一个实例,并提供一个全局访问点来获取该实例。这种模式特别适用于那些只需要一个实例就可以满足系统需求的情况...
单例模式是一种设计模式,它的主要目标是确保一个类只有一个实例,并提供一个全局访问点。在软件工程中,单例模式常用于控制资源的共享,比如数据库连接池、线程池或者日志系统等,这些资源通常需要全局唯一且高效地...
在C#中,我们可以利用单例模式来创建一个计数器类,以确保在整个应用程序的生命周期内,计数器只存在一个实例,并且能够被多个对象安全地共享和访问。 首先,我们需要理解单例模式的基本原理。单例模式的关键在于...
- 实现了单例模式的核心逻辑,保证了整个应用程序中只存在一个 `MysqlHelper` 实例。 - 如果 `instance` 为 `null`,则创建一个新的 `MysqlHelper` 对象;否则返回已有的实例。 4. **executeUpdate() 方法**: -...
单例模式是 Java 设计模式中的一种常见模式,旨在保证整个应用中只有一个类的实例存在。单例模式分为三种:懒汉式单例、饿汉式单例、登记式单例。下面对单例模式的特点、实现方式和应用场景进行详细介绍。 单例模式...
单例模式是软件设计模式中的一种经典模式,其核心思想在于限制类的实例化过程,确保在整个应用程序中只有一个实例存在。这种模式常用于管理共享资源,例如数据库连接、线程池或者全局配置等,以避免资源浪费和状态...
单例模式是一种常用的设计模式,它的核心思想是在整个应用程序中,一个类只能有一个实例存在。单例模式常用于控制资源的共享,例如数据库连接池、日志服务等。单例模式有多种实现方式,常见的包括懒汉式、饿汉式以及...
Java设计模式之单例模式的七种写法 单例模式是一种常见的设计模式,它确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机的驱动程序对象常...
3. **单例模式的优点**: - 资源管理:单例模式可以有效地管理共享资源,避免资源浪费。 - 控制实例化:可以控制何时、如何以及是否实例化对象。 - 全局访问点:提供了全局访问对象的途径,简化了对象的调用。 4...
单例模式的实现方式主要有三种:饿汉式、懒汉式以及静态内部类方式。 - **饿汉式** - **实现**: ```java public class Single1 { // 创建一个静态的实例 private static Single1 instance = new Single1(); ...
单例模式是软件设计模式中的一种基础模式,它在Java编程中被广泛使用。这个模式的主要目的是限制类的实例化,确保在整个程序运行过程中,该类...同时,理解单例模式背后的原理和应用场景,有助于提升代码的设计质量。
这种模式在资源管理、缓存、日志记录等方面广泛应用。本文将详细讨论四种常见的单例实现方式:饿汉模式、懒汉模式、双重检查锁定(DCL)单例模式以及枚举单例。 1. **饿汉模式**: 饿汉模式是在类加载时就完成了...
在C++中,实现单例模式有多种方法,我们将会深入探讨这一模式的原理、优缺点以及如何在实际编程中应用。 单例模式的核心在于控制类的实例化过程,防止多处代码创建多个实例导致资源的浪费或者状态不一致的问题。在...
单例模式保证了在整个应用程序中资源的唯一性,而观察者模式则实现了对象间的动态绑定,使得对象能够及时响应其他对象的变化。理解并熟练运用这两种设计模式,对于提高代码的可维护性和扩展性具有重要意义。在学习和...
单例模式和工厂模式是两种常见的软件设计模式,在面向对象编程中扮演着重要的角色。它们都是为了解决特定的问题而提出的解决方案,但有着不同的应用场景和设计思路。 **单例模式** 是一种限制类实例化次数的模式,...