JavaScript设计模式之模板方法模式原理与用法示例

  

本文实例讲述了JavaScript设计模式之模板方法模式原理与用法。分享给大家供大家参考,具体如下:

  

<强>一、模板方法模式:一种只需使用继承就可以实现的非常简单的模式。

  

<强>二、模板方法模式由两部分组成,第一部分是抽象父类,第二部分是具体的实现子类。

  

<强>三,以设计模式中的咖啡或茶来说明模板方法模式:

  

1,模板Brverage,代码如下:

        var饮料=function () {};   Beverage.prototype。boilWater=function () {   console.log(“把水煮沸”);   };   Beverage.prototype。pourInCup=function () {   把新的错误(“子类必须重写pourInCup”);   };   Beverage.prototype。addCondiments=function () {   把新的错误(“子类必须重写addCondiments方法”);   };   Beverage.prototype。customerWantsConditions=function () {   返回true;//默认需要调的料   };   Beverage.prototype。init=function () {   this.boilWater ();   this.brew ();   this.pourInCup ();   如果(this.customerWantsCondiments ()) {//如果挂钩返回真,则需要调的料   this.addCondiments ();   }   };      之前      

2,子类继承父类

        var CoffeeWithHook=function () {};   CoffeeWithHook。原型=new饮料();   CoffeeWithHook.prototype。啤酒=function () {   console.log(“把咖啡倒进杯子”);   };   CoffeeWithHook.prototype。addCondiments=function () {   console.log(“加糖和牛奶”);   };   CoffeeWithHook.prototype。customerWantsCondiments=function () {   返回窗口。确认(请问需要调料吗? ');   };      之前      

3,煮一杯咖啡

        var coffeeWithHook=new coffeeWithHook ();   coffeeWithHook.init ();      之前      

<强>四,另一种写法

        var饮料=函数(参数){   var boilWater=function () {   控制台。日志(“把水煮沸”);   };   var酿造=参数。酿造| |函数(){   把新的错误(“必须传递酿造方法”);   };   var pourInCup=参数。pourInCup | |函数(){   把新的错误(“必须传递pourInCup方法”);   };   var addCondiments=参数。addCondiments | |函数(){   把新的错误(“必须传递addCondiments方法”);   };   var F=function () {};   F.prototype。init=function () {   boilWater ();   啤酒();   pourInCup ();   addCondiments ();   };   返回F;   };   var=咖啡饮料({   酿造:函数(){   控制台。日志(“用沸水冲泡咖啡”);   },   pourInCup:函数(){   console.log(“把咖啡倒进杯子”);   },   addCondiments:函数(){   console.log(“加糖和牛奶”);   }   });   var咖啡=new咖啡();   coffee.init ();      之前      

上述代码使用http://tools.jb51.net/code/HtmlJsRun测试运行结果:

  

 JavaScript设计模式之模板方法模式原理与用法示例

  

更多关于JavaScript相关内容可查看本站专题:《JavaScript面向对象入门教程》、《JavaScript切换特效与技巧总结》,《JavaScript查找算法技巧总结》,《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

JavaScript设计模式之模板方法模式原理与用法示例