单例设计模式
单例设计模式:解决一个类在内存只存在一个对象。就是保证对象的唯一性
这个是先初始化对象。
称为:饿汉式。
Single类一进内存,就已经创建好了对象。
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
对象是方法被调用时,才初始化,也叫做对象的延时加载。成为:懒汉式。
Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
懒汉式线程不安全,需要通过同步解决,但同步的效率低,所以使用双重判断提高效率
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
原则:定义单例,建议使用饿汉式。
模板设计模式
在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,
那么这时就将不确定的部分暴露出去。由该类的子类去完成。
享元设计模式
工厂设计模式