随笔记:模板模式方法 之 冲泡饮料 案例

随笔记:模板模式方法 之 冲泡饮料 案例

代码实现
 /* 
            模板方法模式--冲泡饮料 
                流程:   1.把水煮沸
                        2.用沸水冲泡饮料
                        3.把饮料倒进杯子里
                        4.加调料
                思路:1.共用的方法父类中定义
                      2.不同的方法,子类中定义
                结论:在该例子中,Beverage.prototype.init被成为模板方法,原因是该方法封装了子类的算法框架,
                        它作为一个算法的模板,指导子类以何种顺序去执行哪些方法。在Beverage.prototype.init方法
                        中,算法内的每一个步骤都清楚地展示在我们眼前。
                【注】实现下面例子,高阶函数也是个很好的选择
        */
        // 定义一个 抽象父类
         var Beverage = function(){};
         Beverage.prototype.boilWater = function(){
             console.log('把水煮沸');
         };
         Beverage.prototype.brew = function(){};//空方法 ,应该由子类重写
         Beverage.prototype.pourInCup = function(){};//空方法,应该由子类重写
         Beverage.prototype.addCondiments = function(){};//空方法,应该由子类重写
         Beverage.prototype.init = function(){
             this.boilWater();
             this.brew();
             this.pourInCup();
             this.addCondiments();
         };
        //  创建coffee子类
         var Coffee = function(){};
         Coffee.prototype = new Beverage();//继承 饮料 类
         Coffee.prototype.brew = function(){
             console.log('用水冲泡咖啡');
         }
         Coffee.prototype.pourInCup = function(){
             console.log('把咖啡倒进杯子里');
         }
         Coffee.prototype.addCondiments = function(){
             console.log('加糖和牛奶');
         }
         var coffee = new Coffee();
         coffee.init();//把水煮沸-->用水冲泡咖啡 --> 把咖啡倒进杯子里-->加糖和牛奶
        //  创建tea 子类
        var Tea = function(){};
        Tea.prototype = new Beverage();//继承 饮料 类
        Tea.prototype.brew = function(){
             console.log('用水浸泡茶叶');
         }
         Tea.prototype.pourInCup = function(){
             console.log('把茶倒进杯子里');
         }
         Tea.prototype.addCondiments = function(){
             console.log('加柠檬');
         }
         var tea = new Tea();
         tea.init();//把水煮沸-->用水浸泡茶叶-->把茶倒进杯子里-->加柠檬

Life is just a sum of our choices.
生活,是由我们每一个选择构成的。

  • Work towards your choices 朝着你的选择努力!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值