建造设计模式

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


转载于:https://my.oschina.net/u/1412027/blog/193901

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值