在我理解中的单例模式是为了确保只有一个实例,所以唯一的实例化的对象会在采用单例模式的类里实例。
我使用单例模式的场景是我在系统内添加了一个xml文件,写了一个xmlLoader加载该xml,接着写一个util类获取加载好的xml的参数。这个时候要确保xmlLoader加载器只有一个,只加载此时的xml文件。
具体实现如下
Loader:
public class LoadValidatorXMLLoader {
private static List<Map<String,Object>> list = new ArrayList<>();
private static String filePath = SystemConstant.getRealPath() + "WEB-INF/classes/config/validator/SysValidator.xml";;
private static LoadValidatorXMLLoader instance = new LoadValidatorXMLLoader();
public static LoadValidatorXMLLoader init(){
return instance;
}
private LoadValidatorXMLLoader(){
loadXML();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
private static void loadXML(){
}
}
util:
public class ValidatorUtil {
public static LoadValidatorXMLLoader loader = LoadValidatorXMLLoader.init();
public static ValidatorResultMessge validator(BaseBO bo,String key) throws Exception{
Map rootMap = loader.getMap(key);
return null;
}
}
以确保每一次调用util的时候加载的都是同一个loader。这就是我使用单例模式的应用场景。
接下来贴一部分网上找到的大神对单例模式的描述和具体代码的链接,虽然现在使用的还比较少,但十分具有参考价值。目前感觉自己对整个业务或者功能的描述太过多得使用日常的用语,描述出来不严谨,描述不清晰,希望能慢慢改正自己的缺点。
http://blog.csdn.net/jason0539/article/details/23297037/