Javascript面向?qū)ο笤O(shè)計(jì)一 工廠模式
更新時(shí)間:2011年12月20日 01:20:38 作者:
工廠模式抽象了創(chuàng)建具體對象的過程,但是在ECMAScript中無法創(chuàng)建類,所以就使用一種函數(shù)來封裝以特定接口創(chuàng)建對象的細(xì)節(jié)
1、工廠模式抽象了創(chuàng)建具體對象的過程,但是在ECMAScript中無法創(chuàng)建類,所以就使用一種函數(shù)來封裝以特定接口創(chuàng)建對象的細(xì)節(jié)。以一下情況為例,
有一個(gè)員工類,有姓名、年齡、職位屬性,
使用以上方法定義兩個(gè)員工,Jim,Sun
var Jim = CreateEmployee("jim", 22, "SoftWare Engineer");
var Sun = CreateEmployee("Sun",24,"Doctor");
然后分別使用SayName方法,讓兩位員工報(bào)上名來
Jim.sayName();
Sun.sayName();
函數(shù)CreateEmployee可以根據(jù)參數(shù)來構(gòu)建一個(gè)包含必要信息的Employee對象,可以無限次的調(diào)用這個(gè)函數(shù)。工廠模式雖然解決了創(chuàng)建多個(gè)相似對象的問題,但是卻沒有解決怎樣知道一個(gè)對象類型的問題。
有一個(gè)員工類,有姓名、年齡、職位屬性,
復(fù)制代碼 代碼如下:
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;
}
使用以上方法定義兩個(gè)員工,Jim,Sun
復(fù)制代碼 代碼如下:
var Jim = CreateEmployee("jim", 22, "SoftWare Engineer");
var Sun = CreateEmployee("Sun",24,"Doctor");
然后分別使用SayName方法,讓兩位員工報(bào)上名來
復(fù)制代碼 代碼如下:
Jim.sayName();
Sun.sayName();
函數(shù)CreateEmployee可以根據(jù)參數(shù)來構(gòu)建一個(gè)包含必要信息的Employee對象,可以無限次的調(diào)用這個(gè)函數(shù)。工廠模式雖然解決了創(chuàng)建多個(gè)相似對象的問題,但是卻沒有解決怎樣知道一個(gè)對象類型的問題。
您可能感興趣的文章:
- js面向?qū)ο笾R妱?chuàng)建對象的幾種方式(工廠模式、構(gòu)造函數(shù)模式、原型模式)
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記四:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)鏈?zhǔn)秸{(diào)用實(shí)例分析
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記三:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)單例模式原理與實(shí)現(xiàn)方法分析
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記二:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)繼承用法分析
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記一:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)對象成員的定義分析
- JS面向?qū)ο缶幊袒A(chǔ)篇(三) 繼承操作實(shí)例詳解
- JS面向?qū)ο缶幊袒A(chǔ)篇(二) 封裝操作實(shí)例詳解
- JS面向?qū)ο缶幊袒A(chǔ)篇(一) 對象和構(gòu)造函數(shù)實(shí)例詳解
- 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記五:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)工廠模式實(shí)例分析
相關(guān)文章
javascript最常用與實(shí)用的創(chuàng)建類的代碼
組合構(gòu)造函數(shù)模式和原型模式2010-08-08
Javascript面向?qū)ο缶幊蹋ㄈ?非構(gòu)造函數(shù)的繼承
這個(gè)系列的第一部分介紹了"封裝",第二部分介紹了使用構(gòu)造函數(shù)實(shí)現(xiàn)"繼承"。2011-08-08
[推薦]javascript 面向?qū)ο蠹夹g(shù)基礎(chǔ)教程
看了很多介紹javascript面向?qū)ο蠹夹g(shù)的文章,很暈.為什么?不是因?yàn)閷懙貌缓?而是因?yàn)樘願(yuàn)W. javascript中的對象還沒解釋清楚怎么回事,一上來就直奔主題,類/繼承/原型/私有變量....2009-03-03
javascript面向?qū)ο笕腴T基礎(chǔ)詳細(xì)介紹
本文章介紹了js中常用的對象包括有JavaScript對象簡介 字符串對象 date() 數(shù)組 數(shù)學(xué)對象 函數(shù)對象 應(yīng)用介紹,有需要了解的同學(xué)可參考一下2012-09-09
用JavaScript實(shí)現(xiàn)單繼承和多繼承的簡單方法
JavaScript是一種強(qiáng)大的多泛型編程語言,其融合了面向過程、面向?qū)ο蠛秃瘮?shù)式編程于一身,具備強(qiáng)大的表現(xiàn)能力。
2009-03-03 
