设计模式(Java实现)----建造者模式
1. 模式定义
建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。
2. 模式结构
建造者模式包含以下角色:
产品(Product):要创建的复杂对象,如代码中的
Car
类抽象建造者(Builder):定义创建产品各个部分的抽象接口,如代码中的
Builder
类具体建造者(Concrete Builder):实现抽象建造者接口,构造和装配各个部件,如代码中的
CarBuilder
类指挥者(Director):构建一个使用建造者接口的对象,控制构建过程,如代码中的
Engineer
类
// 使用链式调用的建造者模式
public class Car {private String base;private String frame;private String door;// 私有构造函数,只能通过建造者创建private Car(Builder builder) {this.base = builder.base;this.frame = builder.frame;this.door = builder.door;}public static class Builder {private String base;private String frame;private String door;public Builder setBase(String base) {this.base = base;return this;}public Builder setFrame(String frame) {this.frame = frame;return this;}public Builder setDoor(String door) {this.door = door;return this;}public Car build() {return new Car(this);}}@Overridepublic String toString() {return "Car{base='" + base + "', frame='" + frame + "', door='" + door + "'}";}
}// 使用示例
public class Test {public static void main(String[] args) {Car car = new Car.Builder().setBase("基础底盘").setFrame("钢制车架").setDoor("四门").build();System.out.println(car);}
}