JavaScript設計模式 建造者模式

2021-09-13 11:15:11 字數 1393 閱讀 2792

建造者模式將乙個複雜物件的構建層與其表示層相互分離,同樣的構建過程可採用不同的表示。

工廠模式主要是為了建立物件例項或者類簇(抽象工廠),關心的是最終產出(建立)的是什麼,而不關心建立的過程。而建造者模式關心的是建立這個物件的整個過程,甚至於建立物件的每乙個細節。

以下以建立應聘者為例:應聘者有興趣愛好,姓名和期望的職位等等

//建立一位人類

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設計模式

設計模式是什麼?設計模式就是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。為什麼要使用設計模式?設計模式可重用 讓 更容易被他人理解 保證 可靠性,設計模式使 編制真正工程化。設計模式怎麼來的?設計模式概念是由四人幫 設計模式 可復用物件導向軟體的基礎 的四位作者 提出,總共分成了三...