中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      javascript模式設(shè)計之工廠模式學(xué)習(xí)心得

      時間:2024-10-26 09:41:03 JavaScript 我要投稿
      • 相關(guān)推薦

      javascript模式設(shè)計之工廠模式學(xué)習(xí)心得

        模式類型:工廠模式

      javascript模式設(shè)計之工廠模式學(xué)習(xí)心得

        模式說明:常用模式之一,用來動態(tài)創(chuàng)建對象

        適用范圍:在運(yùn)行期間需要在一系列可互換的子類中進(jìn)行選擇的類

        注意事項:接口的實現(xiàn),從而使不同子類可以被同等的對待,恰當(dāng)?shù)氖褂霉S模式,但不要拘泥與形式,理解本質(zhì)。

        關(guān)鍵點:以 函數(shù)/類/子類 構(gòu)建的選擇器

        本質(zhì):函數(shù)作為選擇器的使用

        一般使用形式:

        作為獨(dú)立的選擇器存在:

        復(fù)制代碼 代碼如下:

        function FactoryMode(index){

        switch(index){

        case "index1" :

        return new Class1();break;

        case "index2":

        return new Class2();break;

        case "index3":

        return new Class3();break;

        default:return new ClassComm();break;

        }

        }

        或作為類的一個方法存在:

        復(fù)制代碼 代碼如下:

        var MainClass=function(){};//主類構(gòu)造器

        MainClass.prototype={

        FactoryMode:function(){}//子類選擇器

        }

        又或隱式選擇,即不以使用者的主觀選擇而選擇:

        復(fù)制代碼 代碼如下:

        var xmlRequest=function(){

        if(this.isOffOnline()){

        xhr= new OfflineHandler();

        }//如果此時網(wǎng)絡(luò)不可用,創(chuàng)建可緩存AJAX對象

        else if(this.isHightLatency()){

        xhr= new QueuedHandler();

        }//如果網(wǎng)絡(luò)延遲較大,創(chuàng)建隊列形式AJAX對象

        else {

        xhr=new SimpleHandler();

        }//如果網(wǎng)絡(luò)正常,創(chuàng)建簡單AJAX對象

        interface.ensureImplements(xhr,AjaxHandler);

        //檢查對象是否實現(xiàn)了接口,從而確保以后的工作可以順利進(jìn)行

        return xhr;

        }

        延伸:

        工廠模式的本質(zhì)就是選擇器的應(yīng)用,選擇器不僅可作為對象的選擇,還可作為函數(shù)的選擇,類的選擇,參數(shù)的選擇

        函數(shù)的選擇,如:

        復(fù)制代碼 代碼如下:

        var addEvent=(function(){

        if(!-[0,]){

        return function(elem,type,handler){

        elem[type+handler.toString()]=handler;

        elem.attachEvent("on"+type,elem[type+handler.toString]);

        }}//if IE

        else {

        return function(elem,type,handler){

        elem.addEventListener(type,handler,false);

        }

        }

        })();//避免多次判斷

        類的選擇:

        復(fù)制代碼 代碼如下:

        var suitableClass=function(){

        if(match condition A) return Class1;

        else if(match condition B) return Class2;

        else return ClassComm;

        }

        參數(shù)的選擇:

        復(fù)制代碼 代碼如下:

        function Country(country){

        if(country=="China")

        this.config={};//設(shè)置基本參數(shù)1

        else if(contry=="America")

        this.config={};//設(shè)置參數(shù)2

        else if()

        .......//等等

        }

        Country.prototype={};

      【javascript模式設(shè)計之工廠模式學(xué)習(xí)心得】相關(guān)文章:

      常用的JavaScript模式09-22

      Java設(shè)計模式之模板方法模式10-29

      對javascript嚴(yán)格模式的理解08-18

      分析JavaScript函數(shù)的調(diào)用模式07-20

      javascript 單例模式詳解及簡單實例08-17

      企業(yè)薪酬設(shè)計基本模式及組合模式09-18

      薪酬管理之薪酬模式探究09-01

      動畫設(shè)計的意圖模式07-06

      要設(shè)計不同的薪酬模式10-05

      Oracle歸檔模式的運(yùn)行模式08-05

      主站蜘蛛池模板: 国产优质女主播在线观看| 在线亚洲精品国产成人二区| 台安县| 人妻人妻少妇在线系列| 亚洲国产AⅤ精品一区二区久| 国产成人久久精品激情91| 国产一区二区三区4区| 国产成人精品男人的天堂网站| 99在线国产视频| 久久国产亚洲一区二区三区| 班戈县| 自拍偷自拍亚洲精品播放| 中文字幕无线乱码亚洲观看| 天堂av在线一区二区| 亚洲欧美日本人成在线观看| 潜山县| 沐川县| 麟游县| 凤庆县| 保康县| 郧西县| 国产又粗又猛又黄色呦呦| 泸水县| 淄博市| 盖州市| 蜜臀av一区二区国产在线| 娱乐| 无码人妻精品中文字幕免费| 股票| 国产精品无码久久久久下载| 对白刺激的老熟女露脸 | 国产日韩久久久久69影院| 尤物蜜芽福利国产污在线观看| 久9热免费精品视频在线观看 | 久久久亚洲精品午夜福利| 亚洲精品女主播麻豆久久91| 草莓视频中文字幕人妻系列 | 亚洲成av人无码免费观看| 一本久道免费高清视频| 天天澡天天揉揉AV无码人妻斩 | 国产美女黑丝嫩草在线|