本文实例讲述了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设计模式之模板方法模式原理与用法示例