建造设计模式

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;
    }
}


你可能感兴趣的:(设计模式,建造设计模式)