设计模式(Design Pattern)
是一套被反复使用、多数人知晓的、
经过分类编目的、代码设计经验的总结。
目的
使用设计模式是为了可重用代码
让代码更容易被他人理解、保证代码可靠性
基本模式有23种
单例模式:
懒汉模式
饿汉模式
饿汉模式:
package com.imooc;
public class Singleton {
private Singleton(){
}
private static Singleton instance=new Singleton();
public static Singleton getInstace(){
return instance;
}
}
package com.imooc;
public class Test {
public static void main(String[] args) {
Singleton s1=Singleton.getInstace();
Singleton s2=Singleton.getInstace();
if(s1==s2){
System.out.println("s1和s2是同一个实例");
}else{
System.out.println("s1和s2不是同一个实例");
}
System.out.println(s1==s2);
}
}
s1和s2是同一个实例
true
懒汉模式
package com.imooc;
public class Singleton2 {
private Singleton2(){
}
private static Singleton2 instance;
public static Singleton2 getInstace(){
if(instance==null){
instance=new Singleton2();
}
return instance;
}
}
package com.imooc;
public class Test {
public static void main(String[] args) {
Singleton s1=Singleton.getInstace();
Singleton s2=Singleton.getInstace();
if(s1==s2){
System.out.println("s1和s2是同一个实例");
}else{
System.out.println("s1和s2不是同一个实例");
}
System.out.println(s1==s2);
Singleton2 s3=Singleton2.getInstace();
Singleton2 s4=Singleton2.getInstace();
if(s3==s4){
System.out.println("s3和s4是同一个实例");
}else{
System.out.println("s3和s4不是同一个实例");
}
System.out.println(s3==s4);
}
}