目录
什么是建造者模式
基本结构
实现步骤
实现代码(含注释)
//1. 定义产品类
class Product{
// 产品类包含多个组成部分
private String part1;
private String part2;
public void setPart1(String part1){
this.part1=part1;
}
public void setPart2(String part2){
this.part2=part2;
}
}
//2.定义抽象建造者接口
interface Builder{
void buildPart1(String part1);
void buildPart2(String part2);
Product getResult();
}
//3.创建具体建造者
class ConcreteBuilder implements Builder{
Product product=new Product();
@Override
public void buildPart1(String part1) {
product.setPart1(part1);
}
@Override
public void buildPart2(String part2) {
product.setPart2(part2);
}
@Override
public Product getResult() {
return product;
}
}
//定义指导者类
class Directer{
private Builder builder;
public Directer(Builder builder){
this.builder=builder;
}
// 调用方法构建产品
public void construct(){
builder.buildPart1("part1");
builder.buildPart2("part2");
}
}
//客户端使用建造者模式:在客户端中创建【具体建造者对象】和【指导者对象】,通过指导者来构建产品。
public class Main {
public static void main(String[] args) {
// 具体建造者对象
Builder builder=new ConcreteBuilder();
// 指导者对象
Directer directer=new Directer(builder);
// 指导者构建产品
directer.construct();
// 获取构建好的产品
Product product=builder.getResult();
// 输出
System.out.println(product);
}
}