工廠模式:
主要好處就是可以消除對象間的耦合,通過使用工程方法而不是new關鍵字。将所有執行個體化的代碼集中在一個位置防止代碼重複。
工廠模式解決了重複執行個體化的問題 ,但還有一個問題,那就是識别問題,因為根本無法 搞清楚他們到底是哪個對象的執行個體。
function createObject(name,age,profession){//集中執行個體化的函數var obj = new Object();
obj.name = name;
obj.age = age;
obj.profession = profession;
obj.move = function () {
return this.name + ' at ' + this.age + ' engaged in ' + this.profession;
};
return obj;
}
var test1 = createObject('trigkit4',22,'programmer');//第一個執行個體var test2 = createObject('mike',25,'engineer');//第二個執行個體
構造函數模式
使用構造函數的方法 ,即解決了重複執行個體化的問題 ,又解決了對象識别的問題,該模式與工廠模式的不同之處在于:
1.構造函數方法沒有顯示的建立對象 (new Object());
2.直接将屬性和方法指派給 this 對象;
3.沒有 renturn 語句。
本文轉自 全棧web筆記 51CTO部落格,原文連結:http://blog.51cto.com/12864747/1973638,如需轉載請自行聯系原作者