定义一个建造的抽象类,定义各个具体的抽象类来继承于抽象类,定义一个指挥者类,在客户端的代码中,通过向上转型,从而执行相应建造类中的方法,从而构建出想要的产品。(例如同过指挥者构造出不同的小人)。

2、结构图

大话设计模式-----建造者模式

3、代码
package 测试;

//建造抽象类

abstract class Builder {
    public abstract void build();

}

// 建造具体类

class Builder1 extends Builder {
    public void build() {
        System.out.println("build1");
    }

}

// 建造具体类

class Builder2 extends Builder {
    public void build() {
        System.out.println("build2");
    }

}

// 指挥者类

class Direction {
    public void construct(Builder builder) {
        builder.build();
    }

}

// 客户端代码

public class Main2 {
    public static void main(String[] args) {
        Direction dir = new Direction();
        Builder builder = new Builder1();// 向上转型
        dir.construct(builder);
    }

}

 

运行结果:

build1

相关文章: