日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript模板方法模式和職責鏈模式實例分析

瀏覽:23日期:2022-06-13 09:08:18
一、模板方法模式

1、模板方法模式,基于繼承的設計模式,由兩部分組成,抽象父類和具體實現(xiàn)子類。

2、例子Coffe 和 Tea

//創(chuàng)建抽象類 -- 飲料 function Beverage(){} Beverage.prototype.boilWater = function(){ console.log('把水煮沸') } //抽象的父類方法,具體實現(xiàn)由子類來寫 Beverage.prototype.brew = function(){} //泡 Beverage.prototype.pourIncup = function(){} //飲料倒進杯子 Beverage.prototype.addCond = function(){} //加調(diào)料 Beverage.prototype.init = function(){ this.boilWater(); this.brew(); this.pourIncup(); this.addCond(); } //創(chuàng)建具體子類 coffee and tea var Coffee = function (){}; Coffee.prototype = new Beverage(); Coffee.prototype.brew = function (){ console.log('用沸水沖泡咖啡') } Coffee.prototype.brew = function (){ console.log('把咖啡倒進杯子') } Coffee.prototype.brew = function (){ console.log('加糖和牛奶') } var coffee = new Coffee(); coffee.init(); var Tea = function(){}; Tea.prototype = new Beverage(); Tea.prototype.brew = function (){ console.log('用沸水沖泡茶') } Tea.prototype.brew = function (){ console.log('茶倒進杯子') } Tea.prototype.brew = function (){ console.log('加檸檬') } var tea= new Tea(); tea.init();

Beverage.prototype.init 被稱為模板方法的原因是:該方法封裝了子類的算法框架,作為算法模板,指導子類以何種順序去執(zhí)行方法。

??抽象方法沒有具體的實現(xiàn)過程,是一些啞方法,當子類繼承這個抽象類,必須重寫父類的抽象方法。

如果子類忘記實現(xiàn)父類中的抽象方法?

Beverage.prototype.brew = function (){ throw new Error('子類必須重寫父類的brew方法')}二、職責鏈模式

1、職責鏈模式:弱化了發(fā)送(請求)-接收者之間的強聯(lián)系。

2、購物付定金例子

//舊版 order//orderType 預付定金類型,code為1 500元定金 code為2 200元定金 code為3 普通用戶//pay 是否已經(jīng)支付過定金//stock 當前用于普通購買客戶的手機內(nèi)存數(shù)量var order = function (orderType, pay, stock) { if (orderType === 1) {if (pay) { console.log('預付500定金并且已支付,得到100元優(yōu)惠券')} else { //定金未支付,降到普通購買 if (stock > 0) {console.log('普通購買,無優(yōu)惠券') } else {console.log('庫存不足'); }} } if (orderType === 2) {if (pay) { console.log('預付200定金并且已支付,得到50元優(yōu)惠券')} else { //定金未支付,降到普通購買 if (stock > 0) {console.log('普通購買,無優(yōu)惠券') } else {console.log('庫存不足'); }} } if (orderType === 3) {if (stock > 0) { console.log('普通購買,無優(yōu)惠券')} else { console.log('庫存不足');} }}//重構var order500 = function(orderType, pay, stock){ if(orderType ===1 && pay){console.log('預付500定金并且已支付,得到100元優(yōu)惠券') }else{order200(orderType, pay, stock) }}var order500 = function(orderType, pay, stock){ if(orderType ===1 && pay){console.log('預付500定金并且已支付,得到100元優(yōu)惠券') }else{order200(orderType, pay, stock) }}var order200 = function(orderType, pay, stock){ if(orderType ===2 && pay){console.log('預付200定金并且已支付,得到50元優(yōu)惠券') }else{orderNormal(orderType, pay, stock) }}var orderNormal = function(orderType, pay, stock){ if (stock > 0) { console.log('普通購買,無優(yōu)惠券')} else { console.log('庫存不足');}}

大函數(shù)拆分成3個小函數(shù),去掉了許多嵌套的條件分支語句。

但是耦合嚴重,order500和order200耦合在一起,違反開放-封閉原則;

更多設計模式相關知識點,還可以參考本站文章:

https://www.jb51.net/article/252965.htm

https://www.jb51.net/article/27973.htm

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区三区四区日韩| 伊人国产精品| 成人国产精品久久| 先锋亚洲精品| 国产高清不卡| 欧美日韩午夜电影网| 136国产福利精品导航网址| 欧美三区不卡| 亚洲一区国产| 色在线中文字幕| 国产精品亲子伦av一区二区三区 | 在线看片福利| 手机精品视频在线观看| 国产一区二区三区黄网站| 欧美精品日日操| 久久要要av| 中文字幕av亚洲精品一部二部 | 日本午夜精品一区二区三区电影 | 老司机精品视频在线播放| 色综合狠狠操| 91精品在线观看国产| 亚洲一区网站| 欧美日韩一区二区三区在线电影| 欧美黄色一区二区| 成人精品天堂一区二区三区| 亚洲自拍另类| 国产精品免费大片| 久久九九电影| 日韩高清国产一区在线| 精品久久免费| 成人av动漫在线观看| 噜噜噜久久亚洲精品国产品小说| 一区二区电影| 久久久久久色| 亚洲国产成人二区| 日韩一级欧洲| 麻豆国产精品视频| 西西人体一区二区| 久久亚州av| 国产视频一区在线观看一区免费| 久久国内精品视频| 日韩欧美1区| 亚洲一区二区三区四区电影| 精品视频自拍| 日韩网站在线| 欧美激情日韩| 野花国产精品入口| 国产精品一区亚洲| 欧美va天堂在线| 国产美女久久| 国产午夜精品一区二区三区欧美| 国产精品美女午夜爽爽| 日韩视频一区| 国产一区二区三区久久久久久久久| 欧美日韩免费观看一区=区三区| 国产精品一区高清| 欧美日韩国产综合网| 国产精品v亚洲精品v日韩精品| 精品欧美久久| 国产中文字幕一区二区三区| 亚洲日产av中文字幕| 久久电影tv| 亚洲伊人影院| 99精品视频在线观看免费播放| 欧美日一区二区在线观看| 99精品国产一区二区三区| 国产日韩欧美三级| 国产精品97| 国产成人a视频高清在线观看| 视频一区日韩| 91精品观看| 日韩久久精品网| 国产激情综合| 日韩三级精品| 在线一区视频| 久久视频精品| 福利一区在线| 青青草伊人久久| 久久亚洲欧美| 欧美国产91| 热三久草你在线| 麻豆久久久久久| 日本伊人久久| 亚洲资源av| 美女网站一区| 天堂av在线| 久久女人天堂| 国产精品扒开腿做爽爽爽软件| 三级亚洲高清视频| 美女福利一区二区三区| 亚洲日本在线观看视频| 国精品一区二区三区| 麻豆国产精品视频| 国产日韩精品视频一区二区三区| 视频一区欧美日韩| 日韩网站在线| 午夜欧美精品| 国产精品av久久久久久麻豆网| 日韩欧美一区二区三区在线视频| 久久不见久久见免费视频7| 日韩福利视频网| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 欧美亚洲国产日韩| 亚洲五月综合| 一区在线观看| 色婷婷久久久| 日韩毛片视频| 久久uomeier| 日韩欧美中文| 久久久久午夜电影| 欧美aa在线观看| 日韩不卡在线| 亚洲国产专区| 日韩视频一区| 三级欧美在线一区| 男人操女人的视频在线观看欧美| 中文精品视频| 免费视频最近日韩| 亚洲天堂免费| 偷拍亚洲精品| 日韩在线观看中文字幕| 日韩中文字幕在线一区| 日韩国产成人精品| 欧美日一区二区三区在线观看国产免| 亚洲欧洲美洲国产香蕉| 婷婷精品在线| 欧美视频二区| 精品女同一区二区三区在线观看| 久久精品国内一区二区三区| 国产一区二区精品福利地址| 国产精品精品国产一区二区| 97精品在线| 久久精选视频| 国产美女精品| 日韩国产在线不卡视频| 欧美在线91| 精品一区二区三区视频在线播放| 国产精品久久久久蜜臀| 久久精品电影| 久久亚洲影院| 国产日产一区| 超级白嫩亚洲国产第一| 欧美中文一区二区| 久久国产99| 国产精品一区亚洲| 日韩国产一区二区三区| 欧美在线亚洲| 日韩精品高清不卡| 久久精品资源| 99视频精品视频高清免费| 亚洲欧美一区在线| 香蕉久久一区| 免费看久久久| 999精品色在线播放| 一区二区三区四区精品视频| 国产精品亚洲二区| 日韩在线欧美| 午夜在线视频一区二区区别 | 国产精品久久久久久久久久齐齐| 日本久久综合| 免费中文字幕日韩欧美| 国产乱码精品一区二区三区四区| 蜜桃视频一区二区| 久久久久免费| 久久久久免费av| 日韩中文字幕av电影| 日韩av电影一区| 97精品国产| 日韩制服丝袜先锋影音| 国产精品观看| 欧美日韩一二三四| 日本精品久久| 日韩欧美综合| 亚洲精品无吗| 国产精品久久久久久久久久10秀 | 日韩精品五月天| 精品视频高潮| 亚洲电影在线一区二区三区| 热久久久久久| 日韩不卡在线| 国产一精品一av一免费爽爽| 国产综合色区在线观看| 亚洲欧洲日韩| 欧美成a人免费观看久久| 亚洲精品乱码久久久久久蜜桃麻豆 | 99国产精品免费视频观看| 热久久国产精品| 高清一区二区| 亚洲人成亚洲精品| 日韩久久精品网| 欧美一区免费| 亚洲激情二区| 高清一区二区| 日本精品在线播放| 激情五月综合网| 国产一区二区三区探花| 无码日韩精品一区二区免费| 久久久影院免费| 国产欧美亚洲一区| 在线看片不卡|