成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript設(shè)計模式-工廠方法模式

shixinzhang / 3261人閱讀

摘要:工廠方法模式,通過對產(chǎn)品類的抽象使其創(chuàng)建業(yè)務(wù),主要負責創(chuàng)建多類產(chǎn)品的實例。安全模式類安全模式類可以屏蔽使用類的錯誤造成的錯誤。可以將工廠方法看作是一個實例化對象的工廠類,安全起見,采用安全模式類,將創(chuàng)建對象的基類放在工廠方法類的原型中即可。

工廠方法模式,通過對產(chǎn)品類的抽象使其創(chuàng)建業(yè)務(wù),主要負責創(chuàng)建多類產(chǎn)品的實例。
前面記錄了簡單工廠模式,但是需求時不斷變化的,當需求簡單時,直接創(chuàng)建對象就行,需求多了就可以用簡單工廠重構(gòu),但是當需求不斷增加時,我們不僅要添加類,還要修改工廠函數(shù),這樣很不友好,所有還需要更好的模式來適應(yīng)更多的需求。

安全模式類

安全模式類可以屏蔽使用類的錯誤造成的錯誤。如下:

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ù)對象的基類
Factory.prototype = {
    java:function (content) {
    },
    javaScript1:function (content) {

    },
    ui:function (content) {
    },
    php:function (content) {

    }
};

工廠方法模式本意是將實際創(chuàng)建對象工作推遲到子類當中,這樣核心類就成了抽象類,但是JavaScript沒有像傳統(tǒng)創(chuàng)建類那樣的方式輕易創(chuàng)建抽象類,所以在JavaScript中實現(xiàn)工廠方法模式只需要參考其核心思想即可??梢詫⒐S方法看作是一個實例化對象的工廠類,安全起見,采用安全模式類,將創(chuàng)建對象的基類放在工廠方法類的原型中即可。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/98002.html

相關(guān)文章

  • Javascript設(shè)計模式-工廠模式

    摘要:設(shè)計模式工廠模式最近閱讀了幾本設(shè)計模式方面的書籍學(xué)習(xí)之余整理下來方便以后的歸納和梳理設(shè)計模式工廠模式創(chuàng)造工廠模式是一種創(chuàng)建性模式也就是一種創(chuàng)建對象的最佳實踐首先我們需要理解為什么我們需要工廠模式想象一個場景如果你要求去買一些東西板燒雞腿 Javascript設(shè)計模式-工廠模式 最近閱讀了幾本設(shè)計模式方面的書籍,學(xué)習(xí)之余整理下來,方便以后的歸納和梳理 設(shè)計模式-工廠模式 創(chuàng)造工廠模式是一...

    feng409 評論0 收藏0
  • JavaScript面向?qū)ο驩OM 2(JavaScript 創(chuàng)建對象的工廠模式和構(gòu)造函數(shù)模式

    摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對象經(jīng)歷了以下四個過程創(chuàng)建一個新對象構(gòu)造函數(shù)的作用域交給新對象。 ??在創(chuàng)建對象的時候,使用對象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個對象是最簡單最方便的方式。但是凡是處于初級階段的事物都會不可避免的存在一個問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對象都使用一遍 var xxx = {} ,...

    you_De 評論0 收藏0
  • JavaScript面向?qū)ο驩OM 2(JavaScript 創(chuàng)建對象的工廠模式和構(gòu)造函數(shù)模式

    摘要:都是構(gòu)造函數(shù)模式創(chuàng)建的原生構(gòu)造函數(shù)。使用構(gòu)造函數(shù)創(chuàng)建對象經(jīng)歷了以下四個過程創(chuàng)建一個新對象構(gòu)造函數(shù)的作用域交給新對象。 ??在創(chuàng)建對象的時候,使用對象字面量和 new Object() 構(gòu)造函數(shù)的方式創(chuàng)建一個對象是最簡單最方便的方式。但是凡是處于初級階段的事物都會不可避免的存在一個問題,沒有普適性,意思就是說我要為世界上(程序中)的所有使用到的對象都使用一遍 var xxx = {} ,...

    liuchengxu 評論0 收藏0
  • JavaScript設(shè)計模式系列一:工廠模式

    摘要:設(shè)計模式共有種,我今天先來了解一下工廠模式,其他的模式將會在后續(xù)的博客中陸續(xù)為大家講解。工廠模式主要分為簡單工廠模式和抽象工廠模式。抽象工廠模式抽象工廠模式與簡單工廠函數(shù)不同的是,抽象工廠函數(shù)會先設(shè)計好接口,具體的實現(xiàn)在子類中進行。 設(shè)計模式 設(shè)計模式(design pattern)概念:是一套反復(fù)使用、思想成熟、經(jīng)過分類和無數(shù)實戰(zhàn)設(shè)計經(jīng)驗的總結(jié)。是為了代碼可重用、可擴展、可解耦、更容...

    OldPanda 評論0 收藏0
  • JavaScript工廠模式

    摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因為所有的具體工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡單工廠模式的進一步抽象和推廣。 JavaScript工廠模式 首先需要說一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡單工廠模式 工廠方法模式 抽象工廠模式 1.簡單工廠模式 簡單工廠模式:又稱為靜態(tài)工廠方法...

    oujie 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<