JavaScript設(shè)計模式經(jīng)典之工廠模式
一、工廠模式概念
工廠模式定義一個用于創(chuàng)建對象的接口,這個接口由子類決定實例化哪一個類。該模式使一個類的實例化延遲到了子類。而子類可以重寫接口方法以便創(chuàng)建的時候指定自己的對象類型(抽象工廠)。
這個模式十分有用,尤其是創(chuàng)建對象的流程賦值的時候,比如依賴于很多設(shè)置文件等。并且,你會經(jīng)常在程序里看到工廠方法,用于讓子類定義需要創(chuàng)建的對象類型。
二、工廠模式的作用和注意事項
模式作用:
1、對象構(gòu)建十分復(fù)雜--我們穿鞋很簡單,但是制作鞋子的過程十分復(fù)雜
2、需要依賴具體的環(huán)境創(chuàng)建不同的實例--工廠可以做鞋子,做衣服,工廠可以做我需要的鞋子(鞋子不同),然后送到指定的地方(地方可以不同),可以理解為不同的實例
3、處理大量具有相同屬性的小對象--比如買一雙鞋,沒必要找工廠生產(chǎn)
注意事項:
1、不能濫用工廠,有時候僅僅是給代碼增加復(fù)雜度--如上3
三、工廠模式代碼和實戰(zhàn)總結(jié)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> //1.工廠應(yīng)該有廠長來決定運行到底哪條產(chǎn)品線 //2.消費者-》子類 var gongchang = {}; gongchang.chanyifu = function(){ this.gongren = 50; alert("我們有"+this.gongren); } gongchang.chanxie = function(){ this.gongren = 100; alert("產(chǎn)鞋子"); } gongchang.yunshu = function(){ this.gongren = 10; alert("運輸"); } gongchang.changzhang = function(para){ return new gongchang[para](); } var me = gongchang.changzhang("chanxie"); alert(me.gongren); </script> </body> </html>
以上所述是小編給大家介紹的JavaScript設(shè)計模式經(jīng)典之工廠模式,希望對大家有所幫助!
- JavaScript設(shè)計模式之抽象工廠模式介紹
- javascript抽象工廠模式詳細(xì)說明
- 淺析JS抽象工廠模式
- JavaScript設(shè)計模式之工廠模式和構(gòu)造器模式
- Javascript設(shè)計模式理論與編程實戰(zhàn)之簡單工廠模式
- JavaScript設(shè)計模式之工廠模式簡單實例教程
- JavaScript設(shè)計模式之構(gòu)造器模式(生成器模式)定義與用法實例分析
- JavaScript設(shè)計模式之單例模式原理與用法實例分析
- JavaScript設(shè)計模式之原型模式分析【ES5與ES6】
- JavaScript設(shè)計模式之裝飾者模式定義與應(yīng)用示例
- JavaScript設(shè)計模式之工廠模式和抽象工廠模式定義與用法分析
相關(guān)文章
仿淘寶TAB切換搜索框搜索切換的相關(guān)內(nèi)容
這是一款仿淘寶TAB切換搜索框,想搜索哪方面的內(nèi)容就切換到哪一個,非常實用,喜歡的朋友可以看看2014-09-09JavaScript使用lodash實現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝
Lodash?是一個?JavaScript?的工具庫,它提供了一系列的函數(shù)來簡化代碼編寫,本文主要為大家介紹了如何使用lodash實現(xiàn)命名轉(zhuǎn)換和函數(shù)封裝,感興趣的小伙伴可以了解下2023-11-11javascript數(shù)據(jù)類型中的一些小知識點(推薦)
這篇文章主要介紹了javascript數(shù)據(jù)類型中的一些小知識點,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04javascript開發(fā)隨筆一 preventDefault的必要
給a做按鈕的click事件加preventDefault阻止瀏覽器的默認(rèn)行為貌似是印象中必須的事情2011-11-11

原生javaScript做得動態(tài)表格(注釋寫的很清楚)