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

      javascript模式設計之工廠模式學習心得

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

      javascript模式設計之工廠模式學習心得

        模式類型:工廠模式

      javascript模式設計之工廠模式學習心得

        模式說明:常用模式之一,用來動態創建對象

        適用范圍:在運行期間需要在一系列可互換的子類中進行選擇的類

        注意事項:接口的實現,從而使不同子類可以被同等的對待,恰當的使用工廠模式,但不要拘泥與形式,理解本質。

        關鍵點:以 函數/類/子類 構建的選擇器

        本質:函數作為選擇器的使用

        一般使用形式:

        作為獨立的選擇器存在:

        復制代碼 代碼如下:

        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;

        }

        }

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

        復制代碼 代碼如下:

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

        MainClass.prototype={

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

        }

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

        復制代碼 代碼如下:

        var xmlRequest=function(){

        if(this.isOffOnline()){

        xhr= new OfflineHandler();

        }//如果此時網絡不可用,創建可緩存AJAX對象

        else if(this.isHightLatency()){

        xhr= new QueuedHandler();

        }//如果網絡延遲較大,創建隊列形式AJAX對象

        else {

        xhr=new SimpleHandler();

        }//如果網絡正常,創建簡單AJAX對象

        interface.ensureImplements(xhr,AjaxHandler);

        //檢查對象是否實現了接口,從而確保以后的工作可以順利進行

        return xhr;

        }

        延伸:

        工廠模式的本質就是選擇器的應用,選擇器不僅可作為對象的選擇,還可作為函數的選擇,類的選擇,參數的選擇

        函數的選擇,如:

        復制代碼 代碼如下:

        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);

        }

        }

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

        類的選擇:

        復制代碼 代碼如下:

        var suitableClass=function(){

        if(match condition A) return Class1;

        else if(match condition B) return Class2;

        else return ClassComm;

        }

        參數的選擇:

        復制代碼 代碼如下:

        function Country(country){

        if(country=="China")

        this.config={};//設置基本參數1

        else if(contry=="America")

        this.config={};//設置參數2

        else if()

        .......//等等

        }

        Country.prototype={};

      【javascript模式設計之工廠模式學習心得】相關文章:

      常用的JavaScript模式09-22

      Java設計模式之模板方法模式10-29

      對javascript嚴格模式的理解08-18

      分析JavaScript函數的調用模式07-20

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

      企業薪酬設計基本模式及組合模式09-18

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

      動畫設計的意圖模式07-06

      要設計不同的薪酬模式10-05

      Oracle歸檔模式的運行模式08-05

      主站蜘蛛池模板: 临城县| 官网A级毛片| 国产一区二区三区4区| 亚洲av噜噜狠狠蜜桃| 亚洲午夜久久久久中文字幕久| 色琪琪一区二区三区亚洲区| 久久亚洲精品一区二区| 蜜桃视频在线观看免费网址| 91九色蝌蚪国产精品| 最新国产美女一区二区三区| 91精品日本久久久久久牛牛| 日本护士一区二区三区高清热线| 五寨县| 安义县| 连江县| 浪卡子县| 亚洲中文字幕久爱亚洲伊人| 26uuu欧美日本在线播放| 国产精品久久国产三级| 欧美—iGAO视频网| 人妻少妇精品一区二区三区| 英山县| 东乡县| 克东县| 亚洲av粉嫩性色av| 全椒县| 佳木斯市| 卢龙县| 精品中文字幕日本久久久| 万年县| 亚洲欧美日韩国产综合专区| 泊头市| 日本一区二区三区啪啪| 99久久综合国产精品免费| 国产女主播免费在线观看| a午夜国产一级黄片| 美腿丝袜一区二区三区| 蜜桃视频在线免费观看一区二区| 久久久精品中文无码字幕| 一区二区三区放荡人妻| 国产最新视频在线不卡|