当游戏中存在多个配置文件时,比如默认的系统配置,这个配置里就会包括主站平台的根域名,Cookie根域名,此应用的根域名,应用的主URL,应用的静态文件目录,应用的样式和js目录等经常会在开发过程中用到的一些路径。将这些配置的获取和设置方法写在一个继承了Serializable类的借口里,该接口的实现类应含有指定的默认值,当无法加载配置文件,或者配置文件中没有配置某属性时,自动使用默认值,该接口的实现实例,在整个系统中是单例的,否则会导致信息的不一致性。在实现类的构造方法中实现接口中配置的初始化(这时需要判断实例存在与否如果存在的话就抛出异常,因为要保证单例),当然还要实现单例模式的实现:
private static Config systemConfig;
private static final Object INSTANCE_LOCK = new Object();
public static Config getInstance() {
if (systemConfig == null) {synchronized (INSTANCE_LOCK) {
if (systemConfig == null) {
systemConfig = new Config();
}
}
}
return systemConfig;
}
当有多个配置类时,需要定义一个基类来获取各个配置类的实例,以便以后直接调用此基类的方法就可以获得相应的配置类的实例。千万记住获取实例时保证单例:直接return Config.getInstance();即可。