单例模式 因该是最简单的一个设计模式,只要满足:1)某个类只能有一个实例,2)这个实例是由本身创建,3)类本身向整个系统提供实例
单例模式的写法:
第一种
public class EagerSingle {
private static final EagerSingle s=new EagerSingle();
private EagerSingle()
{
}
public static EagerSingle getInstance()
{
return s;
}
}
第二种:
public class LazySingle {
private static LazySingle ls=null;
private LazySingle()
{
}
synchronized static LazySingle getIntance()
{
if(ls==null)
{
ls=new LazySingle();
}
return ls;
}
}
两种写法的比较:
第一种在加载时就将自己实例化,资源利用率低,效率和反应速度高。
第二种在首次用到类的时候实例化,效率和反映率相对低,但有效的利用资源。
单例模式的扩展:
不完全单例模式:构造子为public
多例模式
posted on 2007-07-01 10:20
李桢 阅读(381)
评论(0) 编辑 收藏 所属分类:
java设计模式