-
设计模式:对于一批经常出现的设计场景,前任总结出来的比较成功的设计。后面的人应该学习并模仿,从而提高代码质量。
-
单例模式:在某些场景下,某些类只需要(只能)创建一个实例。
比如系统的床喽窗口管理器,数据库引擎访问点,Java程序所在的JRE环境······都只要产生一个实例,此时应采用单例模式。 -
如何设计单例模式?
(1)隐藏构造器-----避免创建实例。
(2)暴露一个static方法,用于创建实例,该方法还要保证只创建一个实例。
public class Singleton
{
private static Singleton s;
//隐藏构造器
private Singleton()
{
}
//暴露一个static方法,用于创建实例
public static Singleton instance()
{
if(s == null) //还没有创建实例
{
s == new Singleton();
}
return s;
}
}
public class SingletonTest
{
public static void main(String[] args)
{
Singleton s1 = Singleton.instance();
Singleton s2 = Singleton.instance();
System.out.println(s1 == s2); //true,同一个实例
}
}