摘要:工廠方法模式,通過對(duì)產(chǎn)品類的抽象使其創(chuàng)建業(yè)務(wù),主要負(fù)責(zé)創(chuàng)建多類產(chǎn)品的實(shí)例。安全模式類安全模式類可以屏蔽使用類的錯(cuò)誤造成的錯(cuò)誤。可以將工廠方法看作是一個(gè)實(shí)例化對(duì)象的工廠類,安全起見,采用安全模式類,將創(chuàng)建對(duì)象的基類放在工廠方法類的原型中即可。
工廠方法模式,通過對(duì)產(chǎn)品類的抽象使其創(chuàng)建業(yè)務(wù),主要負(fù)責(zé)創(chuàng)建多類產(chǎn)品的實(shí)例。
前面記錄了簡(jiǎn)單工廠模式,但是需求時(shí)不斷變化的,當(dāng)需求簡(jiǎn)單時(shí),直接創(chuàng)建對(duì)象就行,需求多了就可以用簡(jiǎn)單工廠重構(gòu),但是當(dāng)需求不斷增加時(shí),我們不僅要添加類,還要修改工廠函數(shù),這樣很不友好,所有還需要更好的模式來適應(yīng)更多的需求。
安全模式類可以屏蔽使用類的錯(cuò)誤造成的錯(cuò)誤。如下:
var Demo = function () { if(!(this instanceof Demo)){ return new Demo(); } } var d = Demo(); d.show();//成功獲取安全的工廠方法
//安全模式創(chuàng)建的工廠類 var Factory = function (type,content) { if(this instanceof Factory){ var s = new this[type](content); return s; }else { return new Factory(type,content); } }
//工廠原型中設(shè)置所有類型數(shù)據(jù)對(duì)象的基類 Factory.prototype = { java:function (content) { }, javaScript1:function (content) { }, ui:function (content) { }, php:function (content) { } };
工廠方法模式本意是將實(shí)際創(chuàng)建對(duì)象工作推遲到子類當(dāng)中,這樣核心類就成了抽象類,但是JavaScript沒有像傳統(tǒng)創(chuàng)建類那樣的方式輕易創(chuàng)建抽象類,所以在JavaScript中實(shí)現(xiàn)工廠方法模式只需要參考其核心思想即可。可以將工廠方法看作是一個(gè)實(shí)例化對(duì)象的工廠類,安全起見,采用安全模式類,將創(chuàng)建對(duì)象的基類放在工廠方法類的原型中即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/98002.html
摘要:設(shè)計(jì)模式工廠模式最近閱讀了幾本設(shè)計(jì)模式方面的書籍學(xué)習(xí)之余整理下來方便以后的歸納和梳理設(shè)計(jì)模式工廠模式創(chuàng)造工廠模式是一種創(chuàng)建性模式也就是一種創(chuàng)建對(duì)象的最佳實(shí)踐首先我們需要理解為什么我們需要工廠模式想象一個(gè)場(chǎng)景如果你要求去買一些東西板燒雞腿 Javascript設(shè)計(jì)模式-工廠模式 最近閱讀了幾本設(shè)計(jì)模式方面的書籍,學(xué)習(xí)之余整理下來,方便以后的歸納和梳理 設(shè)計(jì)模式-工廠模式 創(chuàng)造工廠模式是一...
摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對(duì)象經(jīng)歷了以下四個(gè)過程創(chuàng)建一個(gè)新對(duì)象構(gòu)造函數(shù)的作用域交給新對(duì)象。 ??在創(chuàng)建對(duì)象的時(shí)候,使用對(duì)象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)對(duì)象是最簡(jiǎn)單最方便的方式。但是凡是處于初級(jí)階段的事物都會(huì)不可避免的存在一個(gè)問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對(duì)象都使用一遍 var xxx = {} ,...
摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對(duì)象經(jīng)歷了以下四個(gè)過程創(chuàng)建一個(gè)新對(duì)象構(gòu)造函數(shù)的作用域交給新對(duì)象。 ??在創(chuàng)建對(duì)象的時(shí)候,使用對(duì)象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)對(duì)象是最簡(jiǎn)單最方便的方式。但是凡是處于初級(jí)階段的事物都會(huì)不可避免的存在一個(gè)問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對(duì)象都使用一遍 var xxx = {} ,...
摘要:設(shè)計(jì)模式共有種,我今天先來了解一下工廠模式,其他的模式將會(huì)在后續(xù)的博客中陸續(xù)為大家講解。工廠模式主要分為簡(jiǎn)單工廠模式和抽象工廠模式。抽象工廠模式抽象工廠模式與簡(jiǎn)單工廠函數(shù)不同的是,抽象工廠函數(shù)會(huì)先設(shè)計(jì)好接口,具體的實(shí)現(xiàn)在子類中進(jìn)行。 設(shè)計(jì)模式 設(shè)計(jì)模式(design pattern)概念:是一套反復(fù)使用、思想成熟、經(jīng)過分類和無數(shù)實(shí)戰(zhàn)設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。是為了代碼可重用、可擴(kuò)展、可解耦、更容...
摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計(jì)是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因?yàn)樗械木唧w工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡(jiǎn)單工廠模式的進(jìn)一步抽象和推廣。 JavaScript工廠模式 首先需要說一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡(jiǎn)單工廠模式 工廠方法模式 抽象工廠模式 1.簡(jiǎn)單工廠模式 簡(jiǎn)單工廠模式:又稱為靜態(tài)工廠方法...
閱讀 961·2021-11-24 09:39
閱讀 3383·2021-10-27 14:20
閱讀 2322·2019-08-30 14:08
閱讀 3361·2019-08-29 16:34
閱讀 2176·2019-08-26 12:14
閱讀 2104·2019-08-26 11:54
閱讀 2771·2019-08-26 11:44
閱讀 2474·2019-08-26 11:38