设计模式-建造者模式

建造者模式(Builder).属于设计模式建立类型中的一种java

public class Product {
    private String food;
    private String drink;

    public String getFood() {
        return food;
    }

    public void setFood(String food) {
        this.food = food;
    }

    public String getDrink() {
        return drink;
    }

    public void setDrink(String drink) {
        this.drink = drink;
    }
}
interface Builder {
    /**
     * 准备食物
     * @return
     */
    void food();

    /**
     * 准备饮料
     * @return
     */
    void drink();

    /**
     * 返回最终产品
     * @return
     */
    Product getResult();
}
public class ConreteBuilder implements Builder{
    private Product product;

    public ConreteBuilder(Product product) {
        this.product = product;
    }

    @Override
    public void food() {
        product.setFood("烤翅+墨西哥鸡肉卷");
    }

    @Override
    public void drink() {
        product.setDrink("可乐(大杯)");
    }

    @Override
    public Product getResult() {
        return product;
    }

}
public class Director {
    private Builder builder;

    public Director(Builder builder) {
        this.builder = builder;
    }

    public Product construct(){
        builder.drink();
        builder.food();
        return builder.getResult();
    }
}
public class Demo {
    public static void main(String[] args) {
        //实例化建造者
        Builder builder = new ConreteBuilder(new Product());
        //实例化使用者
        Director director = new Director(builder);
        //开始构造
        Product product=director.construct();
        System.out.println(product.getDrink()+"------"+product.getFood());
    }
}

控制台console:设计模式

    可乐(大杯)------烤翅+墨西哥鸡肉卷ide

相关文章
相关标签/搜索