设计模式
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。
一、创建型模式
1.单例模式:单例模式可以保证在同一时刻,某个类的实例(对象)只有1个
饿汉式: 一开始就已经创建好了`King`的对象,随时可供调用/获取public class King
public class King {
private static King king = new King();
private King() {
}
public static King getInstance() {
return king;
}
}
懒汉式: 它的特点是“不到逼不得已的时候,并不会创建对象”
public class King {
private static King king = null;
private static final Object lock = new Object();
private King() {
}
public static King getInstance() {
if (king == null) {
sychronized (lock) {
if (king == null) {
king = new King();
}
}
}
return king;
}
}