package JAVABasic;/** * 建造模式(Builder) 将一个对象的内部表象和建造过程分割, * 一个建造过程可以造出不同表象的对象。可简化为模版方法模式. * * @author markGao * */public class BuilderMode { // 顾客调用 public static void main(String[] args) { //顾客点菜 Food f = new TangcuXiaoPai(); // 目前还是一盘不能吃的食物。 Director d = new Director(f); // 指挥者 d.supplyFood(); //现在是一盘加工之后可以吃的食物了。 }}/** * 做菜所需要的步骤 */interface Food { public void You(); // 放油 public void Yan(); // 放盐 public void Shui(); // 加水,,,等等是做菜不可缺少的步骤}/** * 宫保鸡丁 * @author markGao */class GongbaoJiding implements Food { public void You() { } public void Yan() { } public void Shui() { }}/** * 糖醋小排 * * @author markGao * */class TangcuXiaoPai implements Food { public void You() { } public void Yan() { } public void Shui() { }}/** * 建造者模式当中还有一个重要的类,就是指挥者,它和客户和做菜人之间打交道, * 客户对着它说做菜,然后它在叫某个具体做菜的人去做咯。 * @author markGao * */class Director { private Food food; Director(Food f) { this.food = f; doFood(); } private void doFood() { food.You(); food.Yan(); food.Shui(); } public Food supplyFood(){ return food; }}