设计模式类型
设计模式分为三种类型,共23种:
1:创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。
2:结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
3:行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)。
设计模式–创建型模式–单例模式
单例模式有八种方式:
1)饿汉式(静态常量)
应用实例:
- 构造器私有化,不让外界new对象;
- 类的内部创建对象,如INSTANCE
- 暴露一个公共的静态方法,用于获取对象,如getInstance()
- 代码如下:
class Singleton1{
//构造器私有化
private Singleton1(){
}
//本类内部创建对象实例
private final static Singleton1 INSTANCE = new Singleton1();
//提供一个公有的静态方法,返回实例对象
public static Singleton1 getInstance(){
return INSTANCE;
}
}
可以发现,每次通过getInstance()方法返回的对象都是相同的。可以通过以下方法验证:
public static void main(String[] args) {
Singleton1 instance = Singleton1.getInstance();
Singleton1 instance1 = Singleton1.getInstance();
System.out.println(instance == instance1);
System.out.println(instance.hashCode());
System.out.println(instance1.hashCode());
}
返回结果:
true
460141958