本文實(shí)例講述了JavaScript設(shè)計(jì)模式之模板方法模式原理與用法。分享給大家供大家參考,具體如下:
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到牟平網(wǎng)站設(shè)計(jì)與牟平網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋牟平地區(qū)。一、模板方法模式:一種只需使用繼承就可以實(shí)現(xiàn)的非常簡(jiǎn)單的模式。
二、模板方法模式由兩部分組成,第一部分是抽象父類,第二部分是具體的實(shí)現(xiàn)子類。
三、以設(shè)計(jì)模式中的Coffee or Tea來(lái)說(shuō)明模板方法模式:
1、模板Brverage,代碼如下:
var Beverage = function(){}; Beverage.prototype.boilWater = function(){ console.log('把水煮沸'); }; Beverage.prototype.pourInCup = function(){ throw new Error( '子類必須重寫(xiě)pourInCup' ); }; Beverage.prototype.addCondiments = function(){ throw new Error( '子類必須重寫(xiě)addCondiments方法' ); }; Beverage.prototype.customerWantsConditions = function(){ return true; //默認(rèn)需要調(diào)料 }; Beverage.prototype.init = function(){ this.boilWater(); this.brew(); this.pourInCup(); if(this.customerWantsCondiments()){ //如果掛鉤返回true,則需要調(diào)料 this.addCondiments(); } };