建造者模式
建造者模式
eg:日常生活中,装修房子会根据不同的场景、品牌、型号、价格等等组合形成了各式各样的装修风格(套餐A:现代简约,套餐B:轻奢田园,套餐C:欧式豪华)一些基本物料不会变,而其组合经常变化的时候,就可以选择这样的构建者模式来构建代码。
缺点: 1、产品必须有共同点,范围有限制。 2、如内部变化复杂,会有很多的建造类。
一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)可以是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中。
就拿菜鸟上的例子学习吧!

部分代码实现
public class MealBuilder {
public Meal prepareVegMeal (){
Meal meal = new Meal();
meal.addItem(new VegBurger());
meal.addItem(new Coke());
return meal;
}
public Meal prepareNonVegMeal (){
Meal meal = new Meal();
meal.addItem(new ChickenBurger());
meal.addItem(new Pepsi());
return meal;
}
}

浙公网安备 33010602011771号