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