JavaScript設(shè)計模式之工廠模式簡單實(shí)例教程
本文實(shí)例講述了JavaScript設(shè)計模式之工廠模式。分享給大家供大家參考,具體如下:
一、工廠模式概念
工廠模式定義一個用于創(chuàng)建對象的接口,這個接口由子類決定實(shí)例化哪一個類。該模式使一個類的實(shí)例化延遲到了子類。而子類可以重寫接口方法以便創(chuàng)建的時候指定自己的對象類型(抽象工廠)。
這個模式十分有用,尤其是創(chuàng)建對象的流程賦值的時候,比如依賴于很多設(shè)置文件等。并且,你會經(jīng)常在程序里看到工廠方法,用于讓子類定義需要創(chuàng)建的對象類型。
二、工廠模式的作用和注意事項(xiàng)
模式作用:
1、對象構(gòu)建十分復(fù)雜--我們穿鞋很簡單,但是制作鞋子的過程十分復(fù)雜
2、需要依賴具體的環(huán)境創(chuàng)建不同的實(shí)例--工廠可以做鞋子,做衣服,工廠可以做我需要的鞋子(鞋子不同),然后送到指定的地方(地方可以不同),可以理解為不同的實(shí)例
3、處理大量具有相同屬性的小對象--比如買一雙鞋,沒必要找工廠生產(chǎn)
注意事項(xiàng):
1、不能濫用工廠,有時候僅僅是給代碼增加復(fù)雜度--如上3
三、工廠模式代碼和實(shí)戰(zhàn)總結(jié)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>工廠模式</title> </head> <body> <script> //1.工廠應(yīng)該有廠長來決定運(yùn)行到底哪條產(chǎn)品線 //2.消費(fèi)者-》子類 var gongchang = {}; gongchang.chanyifu = function(){ this.gongren = 50; console.log("我們有"+this.gongren); } gongchang.chanxie = function(){ this.gongren = 100; console.log("產(chǎn)鞋子"); } gongchang.yunshu = function(){ this.gongren = 10; console.log("運(yùn)輸"); } 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代碼運(yùn)行工具 http://tools.jb51.net/code/HtmlJsRun測試運(yùn)行效果如下:
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- 深入理解JavaScript系列(38):設(shè)計模式之職責(zé)鏈模式詳解
- JavaScript實(shí)現(xiàn)職責(zé)鏈模式概述
- JavaScript職責(zé)鏈模式概述
- JavaScript設(shè)計模式之模板方法模式原理與用法示例
- JavaScript設(shè)計模式之緩存代理模式原理與簡單用法示例
- JavaScript設(shè)計模式之觀察者模式(發(fā)布訂閱模式)原理與實(shí)現(xiàn)方法示例
- JavaScript設(shè)計模式之工廠模式和抽象工廠模式定義與用法分析
- JavaScript設(shè)計模式之構(gòu)造器模式(生成器模式)定義與用法實(shí)例分析
- JavaScript設(shè)計模式之單例模式原理與用法實(shí)例分析
- JavaScript設(shè)計模式之裝飾者模式定義與應(yīng)用示例
- JavaScript設(shè)計模式之職責(zé)鏈模式應(yīng)用示例
相關(guān)文章
js實(shí)現(xiàn)的點(diǎn)擊超鏈顯示隱藏層
js實(shí)現(xiàn)的點(diǎn)擊超鏈顯示隱藏層...2007-05-05js求數(shù)組中全部數(shù)字可拼接出的最大整數(shù)示例代碼
這篇文章主要給大家介紹了利用js如何求數(shù)組中全部數(shù)字可拼接出的最大整數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面隨著小編一起來學(xué)習(xí)學(xué)習(xí)吧。2017-08-08JS實(shí)現(xiàn)導(dǎo)出Excel和CSV文件操作
這篇文章介紹了JS實(shí)現(xiàn)導(dǎo)出Excel和CSV文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05利用D3.js實(shí)現(xiàn)最簡單的柱狀圖示例代碼
D3.js是一個基于數(shù)據(jù)操作文檔JavaScript庫。D3幫助你給數(shù)據(jù)帶來活力通過使用HTML、SVG和CSS。D3重視Web標(biāo)準(zhǔn)為你提供現(xiàn)代瀏覽器的全部功能,而不是給你一個專有的框架。最近在學(xué)習(xí)D3.js,這個例子是通過d3.js畫一個簡單的柱狀圖。下面來一起看看吧。2016-12-12layui問題之自動滾動二級iframe頁面到指定位置的方法
今天小編就為大家分享一篇layui問題之自動滾動二級iframe頁面到指定位置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JS彈窗 JS彈出DIV并使整個頁面背景變暗功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS彈窗 JS彈出DIV并使整個頁面背景變暗功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-04-04