Javascript面向對象設計一 工廠模式
更新時間:2011年12月20日 01:20:38 作者:
工廠模式抽象了創(chuàng)建具體對象的過程,但是在ECMAScript中無法創(chuàng)建類,所以就使用一種函數(shù)來封裝以特定接口創(chuàng)建對象的細節(jié)
1、工廠模式抽象了創(chuàng)建具體對象的過程,但是在ECMAScript中無法創(chuàng)建類,所以就使用一種函數(shù)來封裝以特定接口創(chuàng)建對象的細節(jié)。以一下情況為例,
有一個員工類,有姓名、年齡、職位屬性,
使用以上方法定義兩個員工,Jim,Sun
var Jim = CreateEmployee("jim", 22, "SoftWare Engineer");
var Sun = CreateEmployee("Sun",24,"Doctor");
然后分別使用SayName方法,讓兩位員工報上名來
Jim.sayName();
Sun.sayName();
函數(shù)CreateEmployee可以根據(jù)參數(shù)來構建一個包含必要信息的Employee對象,可以無限次的調(diào)用這個函數(shù)。工廠模式雖然解決了創(chuàng)建多個相似對象的問題,但是卻沒有解決怎樣知道一個對象類型的問題。
有一個員工類,有姓名、年齡、職位屬性,
復制代碼 代碼如下:
function CreateEmployee(name, age, job) {
var Emp = new Object();
Emp.name = name;
Emp.age = age;
Emp.job = job;
Emp.sayName = function () {
alert(this.name);
};
return Emp;
}
var Emp = new Object();
Emp.name = name;
Emp.age = age;
Emp.job = job;
Emp.sayName = function () {
alert(this.name);
};
return Emp;
}
使用以上方法定義兩個員工,Jim,Sun
復制代碼 代碼如下:
var Jim = CreateEmployee("jim", 22, "SoftWare Engineer");
var Sun = CreateEmployee("Sun",24,"Doctor");
然后分別使用SayName方法,讓兩位員工報上名來
復制代碼 代碼如下:
Jim.sayName();
Sun.sayName();
函數(shù)CreateEmployee可以根據(jù)參數(shù)來構建一個包含必要信息的Employee對象,可以無限次的調(diào)用這個函數(shù)。工廠模式雖然解決了創(chuàng)建多個相似對象的問題,但是卻沒有解決怎樣知道一個對象類型的問題。
您可能感興趣的文章:
- js面向對象之常見創(chuàng)建對象的幾種方式(工廠模式、構造函數(shù)模式、原型模式)
- JS面向對象基礎講解(工廠模式、構造函數(shù)模式、原型模式、混合模式、動態(tài)原型模式)
- 《javascript設計模式》學習筆記四:Javascript面向對象程序設計鏈式調(diào)用實例分析
- 《javascript設計模式》學習筆記三:Javascript面向對象程序設計單例模式原理與實現(xiàn)方法分析
- 《javascript設計模式》學習筆記二:Javascript面向對象程序設計繼承用法分析
- 《javascript設計模式》學習筆記一:Javascript面向對象程序設計對象成員的定義分析
- JS面向對象編程基礎篇(三) 繼承操作實例詳解
- JS面向對象編程基礎篇(二) 封裝操作實例詳解
- JS面向對象編程基礎篇(一) 對象和構造函數(shù)實例詳解
- 《javascript設計模式》學習筆記五:Javascript面向對象程序設計工廠模式實例分析
相關文章
JavaScript 創(chuàng)建對象和構造類實現(xiàn)代碼
JavaScript學習筆記:創(chuàng)建對象和構造類.2009-07-07
JavaScript 類型的包裝對象(Typed Wrappers)
JavaScript 有一套類型的包裝對象,需要的朋友可以參考下。2011-10-10
一個cssQuery對象 javascript腳本實現(xiàn)代碼
原創(chuàng)的一個cssQuery對象,類似于jQuery的$函數(shù)通過css選擇器選擇DOM元素,目前還不支持xPath語法2009-07-07
JavaScript面向對象(極簡主義法minimalist approach)
荷蘭程序員 Gabor de Mooij 提出了一種比 Object.create ()更好的新方法,他稱這種方法為極簡主義法(minimalist approach)。這也是我推薦的方法2012-07-07

