建造者模式
就是将一个复杂的对象通过拆分,分成不同的若干的简单的部分,最后通过一个最终的指挥者将每一部分拼装顺序排好,按照相关的顺序进行构造
以构建一辆汽车为例
先创建车的对象,有轮子大小,颜色信息
public class Car {
private String Wheel;
private String color;
public String getWheel() {
return Wheel;
}
<span style="display: none; width: 0px; height: 0px;" id="transmark"></span>
public void setWheel(String wheel) {
Wheel = wheel;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
相关的颜色接口和实现,轮子的接口和实现类似
public interface Color {
}
public class WhiteColor implements Color {
public WhiteColor() {
System.out.println("这是白色");
}
}
public class BlackColor implements Color {
public BlackColor() {
System.out.println("这是黑色");
}
}
构建一个制造对象
public class Builder implements CarBuilder {
@Override
public void makeWheel() {
System.out.println("制作轮子过程");
}
@Override
public void makeColor() {
System.out.println("制作颜色过程");
}
@Override
public void getCarInfo() {
System.out.println("获取相关信息");
}
}
通过一个指挥者将种类与过程进行排序
public class MakeCar {
private Builder builder = new Builder();
public MakeCar(Builder builder) {
this.builder = builder;
}
public void MakeSmallWhiteCar() {
builder.makeColor();
builder.makeWheel();
builder.getCarInfo();
}
}
每一种车辆对应的用一种制造的方法,相关的排序方式,相关的参数设置
主函数测试
public class Main {
public static void main(String[] args) {
Builder builder = new Builder();
MakeCar makeCar = new MakeCar(builder);
makeCar.MakeSmallWhiteCar();
}
}