建造者模式將乙個複雜物件的構建層與其表示層相互分離,同樣的構建過程可採用不同的表示。
工廠模式主要是為了建立物件例項或者類簇(抽象工廠),關心的是最終產出(建立)的是什麼,而不關心建立的過程。而建造者模式關心的是建立這個物件的整個過程,甚至於建立物件的每乙個細節。
以下以建立應聘者為例:應聘者有興趣愛好,姓名和期望的職位等等
//建立一位人類
var human = function (param)
//類原型方法
human.prototype = ,
gethobby :function ()
}
應聘者有姓名和工作,先例項化其姓名類和工作類
//例項化姓名類
var named = function (name)
})(name,that);
}//例項化職位類
var work = function (work)
})(work,that);
}//更換期望的職位
work.prototype.changework = function (work)
//新增對職位的描述
work.prototype.changedescript = function (sentence)
這樣就建立了抽象出來的3個類:應聘者類,姓名解析類和期望職位類。可以通過對這三個類的組合呼叫,寫乙個建造者類來建立出乙個完整的應聘物件。
/**
*應聘者建造類
* 引數name:姓名(全名)
* 引數work:期望職位
*/var person = function (name,work)
建立一位建造者快取物件測試:
//測試
var person = new person('xiao ming','code');
console.log(person.skill);//保密
console.log(person.name.firstname);//xiao
console.log(person.name.secondname);//ming
console.log(person.work.work);//工程師
console.log(person.work.workdescript);//每天沉醉於**
person.work.changedescript('更改描述!');
console.log(person.work.workdescript);//更改描述!
通過觀察可以發現,建造者模式和工廠模式是有所不同的,建造者模式不僅可以得到建立的結果,而且參與了建立的具體過程,也干涉了建立的具體實現的細節。 JavaScript設計模式
js類設計模式一 類建構函式 function myclass 定義公共屬性 myclass.prototype 定義公共方法 myclass.prototype.methoda function myclass.prototype.methodb function 呼叫 var objclass ...
JavaScript 設計模式
1 單例模式 singleton pattern 單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中乙個類只有乙個例項。即乙個類只有乙個物件例項 單例模式會阻止其他物件例項化其自己的單例物件的副本,從而確保所有物件都訪問唯一例項。因為類控制了...
JavaScript設計模式
設計模式是什麼?設計模式就是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。為什麼要使用設計模式?設計模式可重用 讓 更容易被他人理解 保證 可靠性,設計模式使 編制真正工程化。設計模式怎麼來的?設計模式概念是由四人幫 設計模式 可復用物件導向軟體的基礎 的四位作者 提出,總共分成了三...