目录
- 单例模式(singleton)
- 构建模式(Builder)
- 原型模式(Prototype)
- 工厂方法模式(Factory)
- 抽象工厂模式(Abstract Factory)
**
一、5种创建型模型
**
1.1 单例模式(singleton)
简介:
单例模式特别简单,目的是为类创建唯一的对象。
下面是单例模式的一种实现方式(单例模式的5种实现方式见,传送门):
public class Singleton {
private volatile static Singleton singleton = null; //volatile关键字
private Singleton(){
} //私有化构造函数,使其不可继承
public static Singleton getInstance() {
if(singleton == null) {
synchronized (Singleton.class) {
if(singleton == null) {
//double check,保证效率、安全性
singleton = new Singleton();
}
}
}
return singleton;
}
}
1.2 构建模式(Builder)
简介:
将一个复杂对象的构建和表现分离,使得不同的构建过程可以创建不同的表示
类图:
代码如下:
public class Product {
/**
* 定义一些关于产品的操作
*/
private String part1;
private String part2;
public String getPart1() {
return part1;
}
public void setPart1(String part1) {
this.part1 = part1;
}
public String getPart2() {
return part2;
}
public void setPart2(String part2) {
this.part2 = part2;
}
}
public interface Builder {
public void buildPart1();
public void buildPart2();
public Product retrieveResult();
}
public class ConcreteBuilder implements Builder {
private Product product = new Product();
/**
* 产品零件建造方法1
*/
@Override