国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript設(shè)計模式之工廠方法模式介紹

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:30:58
文檔

JavaScript設(shè)計模式之工廠方法模式介紹

JavaScript設(shè)計模式之工廠方法模式介紹:這篇文章主要介紹了JavaScript設(shè)計模式之工廠方法模式介紹,本文講解了簡單工廠模式、多個工廠方法模式等內(nèi)容,需要的朋友可以參考下1. 簡單工廠模式說明:就是創(chuàng)建一個工廠類,里面實現(xiàn)了所對同一個接口的實現(xiàn)類的創(chuàng)建。但是好像JavaScript 好像沒有 接口
推薦度:
導(dǎo)讀JavaScript設(shè)計模式之工廠方法模式介紹:這篇文章主要介紹了JavaScript設(shè)計模式之工廠方法模式介紹,本文講解了簡單工廠模式、多個工廠方法模式等內(nèi)容,需要的朋友可以參考下1. 簡單工廠模式說明:就是創(chuàng)建一個工廠類,里面實現(xiàn)了所對同一個接口的實現(xiàn)類的創(chuàng)建。但是好像JavaScript 好像沒有 接口

這篇文章主要介紹了JavaScript設(shè)計模式之工廠方法模式介紹,本文講解了簡單工廠模式、多個工廠方法模式等內(nèi)容,需要的朋友可以參考下

1. 簡單工廠模式

說明:就是創(chuàng)建一個工廠類,里面實現(xiàn)了所對同一個接口的實現(xiàn)類的創(chuàng)建。

但是好像JavaScript 好像沒有 接口 這號東西,所以我們?nèi)サ艚涌谶@個層; 當(dāng)然,我們這里的 實現(xiàn)類 下的成員變量,方法應(yīng)該都是一樣的;

例如:這時舉短信發(fā)送跟郵件發(fā)送的例子;

1、 郵件發(fā)送[實現(xiàn)]類

function MailSender() { 
this.to = ''; 
this.title = ''; 
this.content = '';
}
MailSender.prototype.send = function() { 
//send body
}

2、 短信發(fā)送[實現(xiàn)]類

function SmsSender() {
 this.to = '';
 this.title = '';
 this.content = '';
}

SmsSender.prototype.send = function() {
 //send body
}

3、創(chuàng)建一個工廠類:

function SendFactory() {
 this.sender = null;
}

SendFactory.prototype.produce = function(type) {
 var me = this;
 if (type == 'mail') {
 me.sender = new MailSender();
 } else if (type == 'sms') {
 me.sender = new SmsSender();
 }
   return me.sender;
}

4、 使用這個工廠類:

var factory = new SendFactory();
var sender = factory.produce('mail'); //sms
sender.to = 'toName#mail.com';
sender.title = '郵件測試標題!';
sender.content = '發(fā)送內(nèi)容';
sender.send();

2. 多個工廠方法模式

說明:多個工廠模式方法,是對普通工廠方法的改進,因為返回實現(xiàn)是依據(jù)傳進去的字符返回,當(dāng)字符輸入錯誤,可能就無法處理,或是處理成錯誤的方式; 而多個工廠模式方法,就可以避免這樣的錯誤;

我們對上面的工廠類進行改進:

function SendFactory() {
 this.sender = null;
}

SendFactory.prototype.produceMail = function() {
 var me = this;
 me.sender = new MailSender();
 return me.sender;
}
SendFactory.prototype.produceSms = function() {
 var me = this;
 me.sender = new SmsSender();
 return me.sender;
}

使用方法:

var factory = new SendFactory();
var sender = factory.produceSms(); //produceMail
sender.to = 'toName#xxxxx';
sender.title = '短信發(fā)送方法標題';
sender.content = '發(fā)送內(nèi)容';
sender.send();

3. 靜態(tài)工廠方法模式

說明:將上面的 多個工廠方法模式 的方法改為靜態(tài)標識即可,使之不必對 SendFactory 進行實例化;

將工廠類代碼修改如下:

var SendFactory = {
 produceMail : function() {
 return new MailSender();
 },
 produceSms : function() {
 return new SmsSender();
 }
}

使用方法:

var sender = SendFactory.produceMail();
sender.to = 'toName#mail.com';
sender.title = '郵件發(fā)送標題';
sender.content = '發(fā)送內(nèi)容';
sender.send();

工廠方法模式說明

在面向?qū)ο笏枷刖幊陶f明,在具有很多產(chǎn)品(現(xiàn)實世界模型,名稱:類名,成員屬性,及操作方法等)需要初始化,即產(chǎn)品需要創(chuàng)建,并且[實現(xiàn)同一接口時],可以使用工廠方法模式; 第一種模式,有輸入類型錯誤的可能,第二模式,需要用時即創(chuàng)建工廠實例;

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript設(shè)計模式之工廠方法模式介紹

JavaScript設(shè)計模式之工廠方法模式介紹:這篇文章主要介紹了JavaScript設(shè)計模式之工廠方法模式介紹,本文講解了簡單工廠模式、多個工廠方法模式等內(nèi)容,需要的朋友可以參考下1. 簡單工廠模式說明:就是創(chuàng)建一個工廠類,里面實現(xiàn)了所對同一個接口的實現(xiàn)類的創(chuàng)建。但是好像JavaScript 好像沒有 接口
推薦度:
標簽: 方法 js javascript
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩在线观看不卡 | 在线看精品 | 亚洲欧美日韩国产 | 亚洲国产精品热久久 | 97伊人久久 | 国产精品亚洲精品观看不卡 | 久久国产毛片 | 91色欧美 | 国产成人青青热久免费精品 | 久久亚洲私人国产精品va | 国产成人精品久久二区二区 | 最新国产网址 | 精品综合| 成人精品一区二区三区 | 一区二区亚洲视频 | 亚洲国产精品久久久久 | 91国内精品久久久久免费影院 | 在线观看免费精品国产 | 999久久久免费精品国产牛牛 | 在线观看国产一区 | 欧美 日韩 国产 在线 | 国模私拍一区二区三区 | 日韩视频免费在线观看 | 中文亚洲欧美日韩无线码 | 国产亚洲欧美精品久久久 | 国产观看在线 | 亚洲欧美日韩国产 | 国产欧美日韩在线不卡第一页 | 欧洲人交xxx69 | 日本伊人网| 国产亚洲欧美日韩俺去了 | 伊人久久亚洲综合天堂 | 久久久久成人精品一区二区 | 免费一区二区视频 | 亚洲一区二区三区久久久久 | 久久精品一区二区三区不卡牛牛 | 国产一区二区三区久久 | 99视频九九精品视频在线观看 | 色婷婷综合久久久久中文一区二区 | 亚洲欧洲日产国码一级毛片 | 精品国产91久久久久久久 |