javascript設計模式介紹(一) 工廠模式

創建對象

雖然object構造函數或者對象字面量都可以創建單個對象,這種方式有着明顯的缺點:使用同一個接口創建很多對象,會產生大量的重複代碼。

那麼如何解決這個問題呢?

工廠模式

這種模式抽象了創建具體對象的過程,考慮到ECMAScript中無法創建類,開發人員就發明了一種函數,用函數來封裝以特定接口創建對象的細節。

function createPerson(name, age, job){
var o = new Object();
o.name = name;
o.age = age;
o.job = job;
o.sayName = function(){
alert(this.name);
};
return o;
}
var person1 = createPerson("Nicholas", 29, "Software Engineer");
var person2 = createPerson("Greg", 27, "Doctor");


函數createPerson()能夠根據接受的參數來構建一個包含所有必要信息的Person 對象。可以無數次地調用這個函數,而每次它都會返回一個包含三個屬性一個方法的對象。

這種模式雖然解決了創建多個相似對象的文藝,但卻沒有解決對象識別的問題,即怎樣知道一個對象的類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章