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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript設(shè)計模式 ? 工廠模式原理與應(yīng)用實例分析

瀏覽:39日期:2023-11-05 08:02:05

本文實例講述了javascript設(shè)計模式 ? 工廠模式原理與應(yīng)用。分享給大家供大家參考,具體如下:

介紹:前面我們介紹了簡單工廠模式,簡單工廠模式存在一個嚴(yán)重的問題:當(dāng)需要擴(kuò)展時必定要修改工廠類的源代碼。我們雖然在第二個demo中做了一些優(yōu)化,但是我們需在使用時明確指定執(zhí)行方法的名字,這無疑提高了使用成本。那如何實現(xiàn)增加新產(chǎn)品而不影響已有代碼?工廠模式應(yīng)運而生。

定義:定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。工廠模式讓一個類的實例化延遲到其子類。工廠模式又稱為工廠方法模式,又可稱為虛擬構(gòu)造器模式或多態(tài)工廠模式。工廠模式是一種類創(chuàng)建型模式。

場景:還是基于簡單工廠模式的場景,我們試著用工廠模式解決彈窗類的問題。

示例:

var Dialog = function(){ this.show = function(){ console.log(this.name + ’ is show -> ’ + this.element); }}; Dialog.createNotice = function(){ var _dialog = new Dialog(); _dialog.element = ’<div>notice</div>’; _dialog.name = ’notice’; return _dialog;}; Dialog.createToast = function(){ var _dialog = new Dialog(); _dialog.element = ’<div>toast</div>’; _dialog.name = ’toast’; return _dialog;}; Dialog.createWarnin = function(){ var _dialog = new Dialog(); _dialog.element = ’<div>warnin</div>’; _dialog.name = ’warnin’; return _dialog;}; var Factory = {}; Factory.NoticeFactory = function(){ return Dialog.createNotice();} Factory.ToastFactory = function(){ return Dialog.createToast();} Factory.WarninFactory = function(){ return Dialog.createWarnin();} var notice = Factory.NoticeFactory();var toast = Factory.ToastFactory();var warnin = Factory.WarninFactory();notice.show(); //notice is show -> <div>notice</div>toast.show(); //toast is show -> <div>toast</div>warnin.show(); //warnin is show -> <div>warnin</div>

對比簡單工廠模式,工廠模式解決了什么問題呢?

最主要的就是將簡單工廠模式的factory方法進(jìn)行拆分

交由其子類也就是createToast方法實現(xiàn)

而將所有工廠入口拆成獨立工廠類,之前的簡單工廠模式在新增時需要修改工廠類,違反了開關(guān)原則

工廠模式保證新增時只做添加不做修改

項目足夠大時,你可以將Factory和Dialog的子類拆成文件進(jìn)行管理

在寫工廠模式的這段時間,查了一些資料,發(fā)現(xiàn)每個人都有自己的理解

看到的一些工廠模式的demo更像是我們前面介紹簡單工廠模式,為什么呢?

我們的demo參考的是java的書籍,這里面包含了抽象類這個概念,在前端只能靠自己的理解去描述

所以我們盡力通過一些差別來具體的介紹每一種模式

這里面的例子可能不是特別嚴(yán)謹(jǐn),我后面會慢慢優(yōu)化,寫的詳細(xì)一些只有一個目的

當(dāng)有一天有人問我簡單工廠模式和工廠模式的區(qū)別在哪,我希望我能給出一個我的理解

工廠模式總結(jié):

優(yōu)點:* 增加新產(chǎn)品時,無需修改已存在的代碼* 只暴露工廠類,對具體實現(xiàn)封裝在內(nèi)部,使用時無需關(guān)注內(nèi)部使用

缺點:* 新增時還是需要新增具體實現(xiàn)以及提供具體的工廠類,一定程度增加了系統(tǒng)復(fù)雜度,會帶來一些額外開銷* 每個工廠只生產(chǎn)一種產(chǎn)品,會導(dǎo)致存在大量的工廠類,大大增加了系統(tǒng)的維護(hù)成本和運行開銷

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆网站免费在线观看| 狠狠色综合网| 亚洲精品护士| 免费人成网站在线观看欧美高清| 狠狠干成人综合网| 9国产精品视频| 亚洲一区观看| 亚洲精品欧洲| 91精品麻豆| 国产精品一卡| 高潮久久久久久久久久久久久久| 成人福利av| 一本一道久久a久久精品蜜桃| 99热国内精品| 国产视频一区三区| 深夜福利一区| 国产激情精品一区二区三区| 精品一区二区三区中文字幕| 天堂8中文在线最新版在线| 日韩一区三区| 奶水喷射视频一区| 欧美在线黄色| 福利一区二区免费视频| 999久久久亚洲| 亚洲毛片一区| 卡一精品卡二卡三网站乱码| 91精品啪在线观看国产18| 视频在线观看91| 国产精品一区二区99| 国产极品一区| 激情综合网址| 日韩国产高清在线| 亚洲精品系列| 视频一区中文字幕| 91在线成人| 国产一区二区三区四区五区传媒| 99久久婷婷这里只有精品| 亚洲啊v在线免费视频| 精品一二三区| 夜夜嗨一区二区三区| 久久狠狠亚洲综合| 国产一二在线播放| 亚洲一区观看| 久久精品国产免费| 在线一区视频观看| 日韩在线成人| 日韩成人精品一区| 中文久久精品| 老司机免费视频一区二区| 国产一区视频在线观看免费| 日欧美一区二区| 黄毛片在线观看| 一区二区电影| 久久毛片亚洲| 日本少妇精品亚洲第一区| 日韩av免费| 欧美一级久久| 亚洲激情av| 精品一区二区三区中文字幕在线| 精品中文字幕一区二区三区av| 国产精品17p| 免费日本视频一区| 久久av偷拍| 夜夜精品视频| 精品成人18| 男女男精品网站| 国产美女高潮在线| 日韩高清电影免费| 久久人人99| 久久99久久久精品欧美| 美女精品一区| 夜鲁夜鲁夜鲁视频在线播放| 日本成人在线一区| 韩日一区二区三区| 国产精品男女| 午夜在线精品偷拍| 欧美aa一级| 国产欧美日韩视频在线| 欧美日韩精品免费观看视频完整| 国内自拍视频一区二区三区| 亚洲一级大片| 免费久久久久久久久| 97精品国产| 国产日韩三级| 中文字幕亚洲影视| 日韩亚洲国产欧美| 黑人精品一区| 免费观看亚洲天堂| 人人精品久久| 国产精品免费看| 久久久久美女| 国产网站在线| 色88888久久久久久影院| 欧美日本一区| 热久久免费视频| 国产综合视频| 亚洲风情在线资源| 久久精品国产亚洲一区二区三区| 日韩av在线免费观看不卡| 久久午夜影视| 尤物在线精品| 欧美成人精品| 久久久人人人| 亚洲综合电影| 免费在线成人| 国产精品亚洲综合久久| 婷婷五月色综合香五月| 视频一区在线播放| 香蕉成人久久| 亚洲欧美日韩一区在线观看| 在线一区免费观看| 亚洲一区网站| 国产亚洲一区在线| 亚洲欧美网站| 美女精品一区| 亚洲丝袜啪啪| 中文字幕成人| 亚洲色图综合| 国产麻豆综合| 尤物精品在线| 香蕉久久国产| 91午夜精品| 日韩在线观看一区| 久久只有精品| 麻豆国产精品一区二区三区| 国产精品va视频| 麻豆一区二区在线| 久久成人av| 精品国产精品国产偷麻豆| 久久精品免费看| 国产成人精品福利| 国产精选在线| 久久免费高清| 一区在线免费| 亚州av乱码久久精品蜜桃| 9色精品在线| 日本不卡一二三区黄网| 国产日韩一区二区三免费高清 | 国模大尺度视频一区二区| 精品九九久久| 91精品蜜臀一区二区三区在线| 欧美久久精品一级c片| 久久国产成人| 日韩激情啪啪| 精品国产一区二| 久久精品欧美一区| 亚洲欧美日韩视频二区| 日韩欧美三区| 国产精品久久久久久妇女 | 日本欧美韩国一区三区| 久久丁香四色| 日韩精品麻豆| 日韩国产高清在线| 国产欧美自拍一区| 国产精品99精品一区二区三区∴ | 久久精品女人| 国产99久久久国产精品成人免费| 天使萌一区二区三区免费观看| 亚洲精品进入| 国产日韩视频| 精品捆绑调教一区二区三区| 亚洲欧美视频一区二区三区| 国产日韩三级| 日韩精品免费一区二区在线观看| 久热精品在线| 欧美激情91| 91精品99| 欧美一区二区三区免费看| www.51av欧美视频| 爽爽淫人综合网网站| 欧美成a人片免费观看久久五月天| 99精品电影| 日韩国产精品久久久| 欧美日韩视频网站| 在线国产日韩| jizzjizz中国精品麻豆| 模特精品在线| 日韩成人精品一区二区| 亚洲图片久久| 亚洲播播91| 亚欧成人精品| 国产精品亚洲四区在线观看| 国产一区二区精品久| 亚洲欧美综合| 国产亚洲久久| 久久亚洲精品中文字幕蜜潮电影| 亚洲最大av| 麻豆国产在线| 日韩av中文字幕一区| 超碰在线99| 亚洲精品福利| 久久国产中文字幕| 国产亚洲一区二区三区啪| 婷婷国产精品| 国产精品亚洲片在线播放| 亚洲先锋成人| 免费日韩成人| 亚洲精品第一| 91精品电影| 国产aa精品|