92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

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.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
日韩精品欧美国产精品忘忧草| 91综合免费在线| 久久人91精品久久久久久不卡| 精品国产精品自拍| 最近2019年手机中文字幕| 国产精品自拍偷拍| 久热精品视频在线免费观看| 欧美成人精品一区二区| 日韩电影中文字幕在线| 久久国产精品久久久久| 91精品国产乱码久久久久久久久| 高清欧美性猛交xxxx黑人猛交| 欧美裸体xxxx极品少妇| 人九九综合九九宗合| 伦理中文字幕亚洲| 26uuu另类亚洲欧美日本老年| 亚洲人午夜精品免费| 日本高清视频精品| 一区二区av在线| 欧美人与物videos| 综合网中文字幕| 精品丝袜一区二区三区| 一区二区亚洲欧洲国产日韩| 亚洲精品aⅴ中文字幕乱码| 日韩美女激情视频| 91沈先生在线观看| 欧美黄色性视频| 欧美一区二区三区四区在线| 亚洲国产另类 国产精品国产免费| 亚洲成人激情视频| 国产69精品久久久| 日本亚洲精品在线观看| 在线精品国产成人综合| 欧美精品999| 久热精品在线视频| 久久全国免费视频| 日本不卡高字幕在线2019| 黄色一区二区在线| 国产精品电影在线观看| 96sao精品视频在线观看| 正在播放亚洲1区| 日韩精品在线视频美女| 国产综合视频在线观看| 日韩高清av一区二区三区| 亚洲一区第一页| 亚洲精品二三区| 亚洲xxxxx| 亚洲成人精品视频在线观看| 精品久久久999| 欧美性猛交xxxx偷拍洗澡| 综合136福利视频在线| 日韩在线精品视频| 亚洲国产成人久久综合| 91亚洲精品久久久久久久久久久久| 日本高清视频精品| 日韩中文字幕国产| 国产日韩亚洲欧美| 色综合久久精品亚洲国产| 亚洲一区美女视频在线观看免费| 久久综合久久八八| 欧美疯狂xxxx大交乱88av| 久久亚洲一区二区三区四区五区高| 国产精品电影网| 日日噜噜噜夜夜爽亚洲精品| 亚洲电影免费观看高清完整版在线| 国产成人免费av| 欧美性xxxxx| 欧美极品第一页| 亚洲一区第一页| 国产999精品久久久| 国产精品旅馆在线| 91在线观看免费高清| 亚洲免费人成在线视频观看| 久久久久久综合网天天| 一级做a爰片久久毛片美女图片| 亚洲精品成人久久| 欧美日韩成人免费| 国产精品久久综合av爱欲tv| 久久久噜噜噜久久中文字免| 国产精品扒开腿做爽爽爽视频| 午夜精品久久久久久久男人的天堂| 成人国产精品色哟哟| 亚洲自拍在线观看| 亚洲日韩中文字幕| 欧美性videos高清精品| 久久久久中文字幕| 成人精品一区二区三区电影免费| 国产成人在线亚洲欧美| 亚洲免费中文字幕| 亚洲理论在线a中文字幕| 欧美日韩成人在线播放| 在线观看日韩欧美| 欧美性xxxxxxx| 欧美激情久久久久| 久久久久久成人| 欧美亚洲另类激情另类| 欧美激情在线观看| 欧美日韩亚洲高清| 国产欧美日韩最新| 日韩av影院在线观看| 成人欧美一区二区三区在线| 日韩在线视频观看正片免费网站| 精品国产区一区二区三区在线观看| 久久久亚洲网站| 欧美主播福利视频| 免费97视频在线精品国自产拍| 欧美日韩一区二区在线| 久久精品国产亚洲| 日韩高清不卡av| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩国产丝袜另类| 亚洲欧美日韩区| 欧美高清视频在线播放| 午夜精品三级视频福利| 91久久在线观看| 久久免费成人精品视频| 91黄色8090| 亚洲美女www午夜| 成人免费视频a| 国产精品男人爽免费视频1| 日韩中文字幕在线观看| 九九精品在线播放| 国产精品视频中文字幕91| 操91在线视频| 亚洲最新av网址| 国产成人精品国内自产拍免费看| 欧美激情久久久久久| 日韩精品视频在线播放| 日韩精品丝袜在线| 欧美日韩视频免费播放| 日韩精品免费看| 国产区亚洲区欧美区| 国产精品久久久久久av| 伊人久久精品视频| 国产区亚洲区欧美区| 亚洲精品影视在线观看| 久久在线观看视频| 成人欧美一区二区三区在线湿哒哒| 亚洲欧洲一区二区三区久久| 久久久久一本一区二区青青蜜月| 中文一区二区视频| 久久久久久久久久久国产| 日韩精品视频在线播放| 日韩高清电影好看的电视剧电影| 日韩在线欧美在线国产在线| 国产91精品网站| 91视频88av| 日韩av片电影专区| 欧美亚洲一区在线| 欧美激情视频在线免费观看 欧美视频免费一| 538国产精品视频一区二区| 欧美一区二区三区免费视| 久久久亚洲福利精品午夜| 国产欧美日韩中文字幕在线| 性色av一区二区三区红粉影视| 2020欧美日韩在线视频| 日韩av不卡电影| 国产精品美女网站| 久久精品视频在线观看| 久久综合亚洲社区| 国产精品海角社区在线观看| 欧美电影免费观看高清完整| 91精品国产高清自在线| 97视频国产在线|