简介
软件设计模式,又叫设计模式,是一套反复被使用,多数人知晓的,经过分类编目的,代码设计经验的编写;
目的:1、提高代码的可重用性;2、提高代码的可读性;3、提高代码的可靠性,可维护性
常用设计模式
1、单例模式,只创建操作一个实例对象
【创建要点】1.构造函数私有化;2.提供静态共有函数来创建实例,供外部调用
- 懒汉方式;
类加载是没有生成单例,只有第一次加载时才创建单例对象
【实现】
public class MySingleton(){
private static volatile LazySingleton instance=null; //保证 instance 在所有线程中同步
private LazySingleton(){} //private 避免类在外部被实例化
public static synchronized LazySingleton getInstance()
{
//getInstance 方法前加同步
if(instance==null)
{
instance=new LazySingleton();
}
return instance;
}
}
- 饿汉方式
类加载时就已经创建了对象,保证调用getInstance()之前单例已经存在
【实现】
public class HungrySingleton
{
private static final HungrySingleton instance=new HungrySingleton();
private HungrySingleton(){}
public static HungrySingleton getInstance()
{
return instance;
}
}
注意:单线程中单例模式可能会失效,用DCL(Double Check Lock)创建