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://www.0391cbd.com

存檔

主站蜘蛛池模板: 久久96热在精品国产高清| 国产精品亚洲专区一区| 成人福利在线观看| 国产91九色在线播放| 成人在线亚洲| 久热中文字幕在线| 日韩人妻精品一区| 亚洲人成网站观看在线观看| 国产一线在线| 国产小视频网站| 国产成人久久综合一区| 午夜国产在线观看| 久久这里只有精品8| 99久久国产综合精品2020| 色综合手机在线| 国产在线一区二区视频| 亚洲天堂日本| 亚洲人成影视在线观看| 成人永久免费A∨一级在线播放| 亚洲欧美激情小说另类| аⅴ资源中文在线天堂| 亚洲日本www| 欧美日韩亚洲国产主播第一区| 亚洲一级毛片在线播放| 综合天天色| 91网站国产| 国产高清不卡视频| 亚洲国产亚综合在线区| 亚洲综合极品香蕉久久网| 婷婷六月天激情| 99久久精品视香蕉蕉| 中日韩一区二区三区中文免费视频| 亚洲妓女综合网995久久| 国产男女XX00免费观看| 欧美日韩成人| 久久综合五月| 国产在线精品99一区不卡| 国产微拍一区二区三区四区| 久青草免费在线视频| 狠狠色丁香婷婷| 视频一区亚洲| 色香蕉网站| 无码专区在线观看| 精品天海翼一区二区| 午夜啪啪网| av在线无码浏览| 麻豆国产在线观看一区二区| 波多野结衣无码视频在线观看| 亚洲国产精品不卡在线| 欧美黑人欧美精品刺激| 国产一级裸网站| 亚洲日韩精品欧美中文字幕 | 免费一级无码在线网站| 人妻中文字幕无码久久一区| 亚洲三级网站| 中文字幕乱妇无码AV在线| 欧美一区二区三区不卡免费| 国产精品视频第一专区| 国产免费网址| 亚洲欧美一区二区三区麻豆| 久久综合伊人77777| 国产三级韩国三级理| 亚洲成人在线免费| 日韩人妻少妇一区二区| 天堂va亚洲va欧美va国产| 99精品福利视频| 国产微拍一区二区三区四区| 国产91成人| 欧美亚洲国产日韩电影在线| 国产精品久久久久久久久久98 | 日本在线欧美在线| 国产精品欧美日本韩免费一区二区三区不卡 | 欧美www在线观看| 国产伦精品一区二区三区视频优播 | 一区二区自拍| 亚洲成人精品久久| 日本午夜影院| 欧美成人免费午夜全| 小说 亚洲 无码 精品| 日本a∨在线观看| 777午夜精品电影免费看| 亚洲人成成无码网WWW|