javascript設(shè)計(jì)模式之工廠模式
介紹
- 將new操作單獨(dú)封裝
- 遇到new時(shí),就要考慮是否應(yīng)該使用工廠模式
- 比如買(mǎi)漢堡:直接點(diǎn)餐、取餐,我們不會(huì)親手做,商店要“封裝”做漢堡的工作,做好直接給買(mǎi)者
UML類圖

直接上工廠模式的代碼
class Product {
constructor(name} {
this.name = name
}
init() {console.log('init')}
fun1() {console.log('fun1')}
fun2() {console.log('fun2')}
}
// 此處的Creator就是工廠
class Creator {
create(name) {
// 此處返回的是實(shí)例,工廠模式的特點(diǎn)
return new Procuct(name)
}
}
// 運(yùn)行代碼
let creator = new Creator()
let p = creator.create('p1')
p.init()
p.fun1()
p.fun2()
工廠模式的場(chǎng)景
Jquery - $(‘div’)
// jquery 代碼為工廠模式
class jQuery {
constructor(selector) {
let slice = Array.prototype.slice
let dom = slice.call(document.querySelectorAll(selector))
let len = dom ? dom.length : 0
for (let i = 0; i < len; i++) {
this[i] = dom[i]
}
this.length = len
this.selector = selector || ''
}
append(node) {}
addClass(name) {}
html(data) {}
// 此處省略若干 API
}
window.$ = function (selector) {
return new jQuery(selector)
}
React.createElement (創(chuàng)建虛擬dom的實(shí)例)

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- JavaScript設(shè)計(jì)模式--簡(jiǎn)單工廠模式實(shí)例分析【XHR工廠案例】
- JavaScript設(shè)計(jì)模式--簡(jiǎn)單工廠模式定義與應(yīng)用案例詳解
- JS 設(shè)計(jì)模式之:工廠模式定義與實(shí)現(xiàn)方法淺析
- javascript設(shè)計(jì)模式 – 抽象工廠模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 工廠模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 簡(jiǎn)單工廠模式原理與應(yīng)用實(shí)例分析
相關(guān)文章
javascript中的=等號(hào)個(gè)數(shù)問(wèn)題兩個(gè)跟三個(gè)有什么區(qū)別
一個(gè)等號(hào)就是個(gè)賦值的作用,主要問(wèn)題在于兩個(gè)跟三個(gè)等號(hào)的區(qū)別,想必有很多的朋友都不知道吧,在本文有個(gè)不錯(cuò)的示例主要介紹下兩者到底有什么區(qū)別,感興趣的朋友不要錯(cuò)過(guò)2013-10-10
JavaScript面對(duì)國(guó)際化編程時(shí)的一些建議
這篇文章主要介紹了JavaScript面對(duì)國(guó)際化編程時(shí)的一些建議,包括時(shí)區(qū)與語(yǔ)言編碼等一些值得注意的問(wèn)題,需要的朋友可以參考下2015-06-06
JavaScript學(xué)習(xí)筆記之定時(shí)器
本文通過(guò)2個(gè)定時(shí)器的示例向我們展示了javascript中定時(shí)器的使用方法,格式以及功能,希望通過(guò)本文能夠讓大家對(duì)javascript定時(shí)器有新的認(rèn)識(shí)。2015-01-01
在javascript中創(chuàng)建對(duì)象的各種模式解析
下面小編就為大家?guī)?lái)一篇在javascript中創(chuàng)建對(duì)象的各種模式解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-05-05
自動(dòng)化測(cè)試讀寫(xiě)64位操作系統(tǒng)的注冊(cè)表
本文主要介紹自動(dòng)化測(cè)試讀寫(xiě)64位操作系統(tǒng)的注冊(cè)表,這里提供詳細(xì)的教程來(lái)實(shí)現(xiàn)自動(dòng)化讀寫(xiě)64位操作系統(tǒng)的注冊(cè)表,希望能幫助測(cè)試軟件的朋友,有興趣的小伙伴可以參考下2016-08-08
淺談JavaScript Date日期和時(shí)間對(duì)象
這篇文章主要介紹了JavaScript Date日期和時(shí)間對(duì)象的相關(guān)資料,需要的朋友可以參考下2014-12-12

