97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

JS設計模式之單例模式、組合模式、觀察者模式、策略模式

2020-3-18    前端達人

好,下面我將結合一些實例,說一下我對組合模式以及觀察者模式的了解:



1、組合模式:



組合模式在對象間形成樹形結構;

組合模式中基本對象和組合對象被一致對待;

無須關心對象有多少層, 調用時只需在根部進行調用;

將多個對象的功能,組裝起來,實現批量執行;

想象我們現在手上有個萬能遙控器, 當我們回家, 按一下開關, 下列事情將被執行:



到家了,開門

開電腦

開音樂




// 先準備一些需要批量執行的功能
class GoHome{
    init(){
        console.log("到家了,開門");
    }
}
class OpenComputer{
    init(){
        console.log("開電腦");
    }
}
class OpenMusic{
    init(){
        console.log("開音樂");
    }
}

// 組合器,用來組合功能
class Comb{
    constructor(){
        // 準備容器,用來防止將來組合起來的功能
        this.skills = [];
    }
    // 用來組合的功能,接收要組合的對象
    add(task){
        // 向容器中填入,將來準備批量使用的對象
        this.skills.push(task);
    }
    // 用來批量執行的功能
    action(){
        // 拿到容器中所有的對象,才能批量執行
        this.skills.forEach( val => {
            val.init();
        } );
    }
}

// 創建一個組合器
var c = new Comb();

// 提前將,將來要批量操作的對象,組合起來
c.add( new GoHome() );
c.add( new OpenComputer() );
c.add( new OpenMusic() );

// 等待何時的時機,執行組合器的啟動功能
c.action();
    // 在內部,會自動執行所有已經組合起來的對象的功能



由此,我們可以總結一下組合模式的特點


1.批量執行
2.啟動一個方法,會遍歷多個方法,同時執行,有點類似于遞歸的感覺
3.組合模式略微耗性能,但是執行方便
 目前只是一個基礎組合。
 高級組合:
1.組合成樹狀結構,每個對象下,還會有自己的子對象
2.如果執行了父對象的某個方法,所有的子對象會跟隨執行
3.組合模式一般建議使用在動態的html結構上,因為組合模式的結構和html的結構,出奇的一致
4.基本對象和組合對象被一致對待, 所以要保證基本對象(葉對象)和組合對象具有一致方法


2、觀察者模式:

觀察者模式也叫也叫Observer模式、訂閱/發布模式,也是由GoF提出的23種軟件設計模式的一種。
觀察者模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態,或者說執行對應對象的方法(主題數據改變,通知其他相關個體,做出相應的數據更新)。
這種設計模式可以大大降低程序模塊之間的耦合度,便于更加靈活的擴展和維護。
以觀察的角度,發現對應的狀況,處理問題。
觀察者模式包含兩種角色:
①觀察者(訂閱者):會隨時更新自身的信息或狀態(訂閱者可以隨時加入或離開);
②被觀察者(發布者):接收到發布者發布的信息,從而做出對應的改變或執行。
很方便的實現簡單的廣播通信,實現一對多的對應關系。
核心思想:觀察者只要訂閱了被觀察者的事件,那么當被觀察者的狀態改變時,被觀察者會主動去通知觀察者,而無需關心觀察者得到事件后要去做什么,實際程序中可能是執行訂閱者的回調函數。
Javascript中實現一個例子:


日歷

鏈接

個人資料

藍藍設計的小編 http://m.0391cbd.com

存檔

主站蜘蛛池模板: 毛片久久久| 高清不卡毛片| 国产成人精品亚洲77美色| 成人蜜桃网| 亚洲日韩精品无码专区97| 亚洲男人的天堂在线| 永久免费av网站可以直接看的| 国产99视频精品免费观看9e| 99性视频| 综合久久久久久久综合网| 91无码人妻精品一区| 国产爽妇精品| 亚洲精品亚洲人成在线| 免费无码网站| 九九这里只有精品视频| 成年看免费观看视频拍拍| 久久久精品久久久久三级| 亚洲va精品中文字幕| 精品精品国产高清A毛片| 国产精品视频第一专区| 亚洲日韩久久综合中文字幕| 五月婷婷亚洲综合| 亚洲国产成人超福利久久精品| 久久综合伊人77777| 亚洲高清免费在线观看| 色欲不卡无码一区二区| 亚洲AV无码不卡无码| 制服无码网站| 极品私人尤物在线精品首页 | 成人福利视频网| 亚洲日韩AV无码一区二区三区人| 最新国产网站| 在线国产毛片| 亚洲精品国产精品乱码不卞| 丁香五月婷婷激情基地| 久久特级毛片| 亚洲精品天堂在线观看| 国产美女免费网站| 91久久偷偷做嫩草影院| 黄色成年视频| 日韩 欧美 小说 综合网 另类| 无码中文AⅤ在线观看| 国产区免费精品视频| 国产午夜一级淫片| 国产尤物在线播放| 五月天在线网站| 国产免费怡红院视频| 久久精品日日躁夜夜躁欧美| 精品国产免费观看一区| 五月婷婷丁香色| 人妻少妇久久久久久97人妻| 亚洲一区二区日韩欧美gif| 无码啪啪精品天堂浪潮av| 国产亚洲精品97AA片在线播放| 国产尹人香蕉综合在线电影 | 欧美日韩北条麻妃一区二区| 亚洲精品动漫在线观看| 天天综合网色| 亚洲国产在一区二区三区| 国产在线观看高清不卡| 日韩av手机在线| www成人国产在线观看网站| 91在线视频福利| 免费不卡视频| 欧美激情首页| 久久一色本道亚洲| 亚洲精品午夜无码电影网| 九九九国产| 狠狠做深爱婷婷久久一区| 天天婬欲婬香婬色婬视频播放| 谁有在线观看日韩亚洲最新视频| 国产欧美在线观看视频| 中国黄色一级视频| 成人国内精品久久久久影院| 精品久久久久久中文字幕女| 91久久偷偷做嫩草影院精品| 无码一区18禁| 一级片免费网站| 色偷偷一区| 97人妻精品专区久久久久| 波多野结衣在线se| 91年精品国产福利线观看久久|