本文實例講述了JavaScript設計模式之工廠模式。分享給大家供大家參考,具體如下:
工廠模式定義一個用于創建對象的接口,這個接口由子類決定實例化哪一個類。該模式使一個類的實例化延遲到了子類。而子類可以重寫接口方法以便創建的時候指定自己的對象類型(抽象工廠)。
這個模式十分有用,尤其是創建對象的流程賦值的時候,比如依賴于很多設置文件等。并且,你會經常在程序里看到工廠方法,用于讓子類定義需要創建的對象類型。
1、對象構建十分復雜--我們穿鞋很簡單,但是制作鞋子的過程十分復雜
2、需要依賴具體的環境創建不同的實例--工廠可以做鞋子,做衣服,工廠可以做我需要的鞋子(鞋子不同),然后送到指定的地方(地方可以不同),可以理解為不同的實例
3、處理大量具有相同屬性的小對象--比如買一雙鞋,沒必要找工廠生產
1、不能濫用工廠,有時候僅僅是給代碼增加復雜度--如上3
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>工廠模式</title> </head> <body> <script> //1.工廠應該有廠長來決定運行到底哪條產品線 //2.消費者-》子類 var gongchang = {}; gongchang.chanyifu = function(){ this.gongren = 50; console.log("我們有"+this.gongren); } gongchang.chanxie = function(){ this.gongren = 100; console.log("產鞋子"); } gongchang.yunshu = function(){ this.gongren = 10; console.log("運輸"); } gongchang.changzhang = function(para){ return new gongchang[para](); } var we = gongchang.changzhang("chanyifu"); var me = gongchang.changzhang("chanxie"); console.log(me.gongren); var ys = gongchang.changzhang("yunshu"); console.log(ys.gongren); </script> </body> </html>
使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.jb51.net/code/HtmlJsRun測試運行效果如下:
更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com