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