這篇文章主要為大家展示了“JavaScript設計模式之工廠模式的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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設計模式之工廠模式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。