設計模式-建造者模式

建造者模式(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

相關文章
相關標籤/搜索