成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

js觀察者模式的介紹及使用

瀏覽:195日期:2024-05-30 18:51:43
目錄一、定義二、使用場景三、舉個例子四、Coding一、定義

觀察者模式定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象(通知者)。這個主題對象觀察到被觀察者發生變化時,會通知所有的觀察者對象,使它們能夠自己更新自己

這里涉及了幾個角色及他們自己功能:

觀察者對象:可以更新自己 主題對象:可以添加觀察者,移除觀察者,通知觀察者 被觀察者:被主題對象監視,當被觀察者發生變化時,主題對象會通知觀察者更新自己的狀態 二、使用場景

當一個對象改變需要同時改變其他對象的時候,而且不需要知道有多少個對象需要改變

三、舉個例子

如果干巴巴的概念描述晦澀難懂,舉個生活中常見的例子說明一下

場景1:

​ 寫字樓中,電腦跟前。一堆程序員趁老板出差的機會在電腦上NBA球賽,時不時激動的大喊大叫。此時,老板出差回來,剛好碰個正著,場面一度尷尬。

解決方案:

​ 為了避免在公司劃水摸魚時,被進門的老板抓到,幾個人想了個方案,賄賂前臺小姐姐。當老板以后再進公司門的時候,小姐姐立馬通知程序員們,讓他們恢復到工作的狀態

場景2:

​ 寫字樓中,電腦跟前。一堆程序員趁老板出差的機會在電腦上NBA球賽,時不時激動的大喊大叫。此時,老板出差回來。前臺小姐姐看到老板回來,立馬給看球賽的小哥哥們發通知。此時小哥哥們趕緊切換成工作的狀態。

場景2就是使用了觀察者模式。當老板回來時,程序員們需要改變劃水的狀態,由前臺小姐姐負責通知他們

人物 角色 功能 程序員 觀察者 可以改變自己的狀態 前臺小姐姐 主題(通知者) 收集、移除及保存需要通知的程序員(觀察者),給程序員發送通知 老板 被觀察者 被前臺小姐姐觀察

通過案例應該分清觀察者模式中的各個對象及各個對象的功能了。接下來進行coding

四、Coding

1、前臺小姐姐類(通知者類)

/* * desc:通知者類 * 1、存儲觀察者 * 2、添加觀察者 * 3、移除觀察者 * 4、通知觀察者 */class Dep { constructor() {//存儲觀察者this.subs = [] } /** * 添加觀察者 * @param {觀察者對象} sub */ addSubs(sub) {//確保觀察者都有update方法if (sub && sub.update) { this.subs.push(sub)} } /** * 移除觀察者 * @param {需要移除的觀察者對象} sub */ removeSub(sub) {this.subs.forEach((item, index) => { if (sub.id === item.id) {this.subs.splice(index, 1)return; }}) } /** * 通知觀察者,調用所有觀察者內部的update的方法,改變自身狀態 * */ notify() {this.subs.forEach(sub => { sub.update()}) }}

2、程序員類(觀察者類)

/** * 觀察者對象 */class watcher { constructor(name) {this.name = name } //觀察者對象都有自己的update方法,來改變自己的工作狀態 update() {console.log(`${this.name}收到通知,改變工作狀態。`) }}/** * 觀察者對象 */class watcher { constructor(name) {this.name = name } //觀察者對象都有自己的update方法,來改變自己的工作狀態 update() {console.log(`${this.name}收到通知,改變工作狀態。`) }}

3、模擬老板回公司,前臺小姐姐通知程序員

<script src='http://www.piao2010.com/bcjs/js/Dep.js'></script> <script src='http://www.piao2010.com/bcjs/js/Watcher.js'></script> <script>//同事張三const tongshi1 = new watcher('張三')//同事李四const tongshi2 = new watcher('李四')//前臺小姐姐要知道哪些同事需要通知,把需要通知的同事收集起來const xiaojiejie = new Dep();xiaojiejie.addSubs(tongshi1)xiaojiejie.addSubs(tongshi2)//等待老板歸來....//等等等....//等等等....//等等等....//等等等....//老板回來了//當老板回來時,前臺小姐姐調用自己的notify方法通知程序員們 改變自身狀態xiaojiejie.notify() </script>

到此這篇關于java設計模式之觀察者模式的介紹及使用背景的文章就介紹到這了,更多相關觀察者模式內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产精品久久久久久久裸模| av爱爱亚洲一区| 337p日本欧洲亚洲大胆色噜噜| 亚洲国产精品欧美一二99| 欧美高清视频一区| 欧美一区二区三级| 久久精品久久久精品美女| 国产精品视频久久一区| 久久午夜免费电影| 国产91精品一区二区麻豆网站| 久久婷婷激情| 香蕉久久夜色精品国产使用方法| 国产精品videossex久久发布| 在线播放日韩导航| 美女免费视频一区二区| 欧美自拍偷拍午夜视频| 一区二区三区四区在线| 亚洲香蕉网站| 国产精品视频看| 成人综合婷婷国产精品久久蜜臀| 欧美日韩国产片| 麻豆成人在线观看| 久久天天综合| 亚洲福利视频一区二区| 亚洲欧美日韩国产综合精品二区| 一区二区三区四区蜜桃| av成人黄色| 亚洲精品国产视频| 91久久亚洲| 亚洲欧美日韩电影| 91久久极品少妇xxxxⅹ软件| 国产精品久久久久久久久免费相片| 91看片淫黄大片一级| 久久综合九色综合欧美就去吻| 本田岬高潮一区二区三区| 精品日韩在线观看| 99久久国产综合精品女不卡| 精品嫩草影院久久| 不卡的av中国片| 久久影院午夜论| 91在线观看一区二区| 久久久久亚洲综合| 亚洲欧美一级二级三级| 国产精品欧美一区喷水| 亚洲国产电影| 亚洲一区自拍偷拍| 色综合久久88色综合天天免费| 日韩中文字幕不卡| 91福利资源站| 韩日欧美一区二区三区| 91精品国产福利在线观看 | 日韩在线一区二区| 老司机精品导航| 精品一区精品二区高清| 在线不卡中文字幕| 成人激情黄色小说| 欧美极品美女视频| 亚洲国产精品第一区二区三区| 一区二区三区在线观看欧美| 久久av一区二区| 蜜桃视频一区二区三区在线观看| 欧美日韩国产系列| av高清不卡在线| 国产精品黄色在线观看| 99精品福利视频| 日韩精品一区第一页| 欧美三级电影一区| 国产成人8x视频一区二区| 久久精品一区二区| 在线观看视频日韩| 偷窥国产亚洲免费视频| 欧美色成人综合| 久久99精品国产.久久久久 | 影音先锋日韩资源| 亚洲一卡二卡三卡四卡| 欧美日韩卡一卡二| 97久久精品人人澡人人爽| 国产精品免费人成网站| 日韩亚洲视频| 日日骚欧美日韩| 日韩一区二区免费在线观看| 欧美日韩视频一区二区三区| 亚洲一区二区三区中文字幕| 欧美精选在线播放| 欧美日韩亚洲免费| 日本免费新一区视频| 精品理论电影在线观看| 亚洲国产黄色| 毛片av一区二区| 国产亚洲精品福利| 性娇小13――14欧美| 国产成人在线色| 中文字幕欧美一| 91国内精品野花午夜精品| 国产电影精品久久禁18| 国产精品久久久久久久浪潮网站 | 国产一区二区三区奇米久涩| 九九视频精品免费| 国产精品另类一区| 欧美性猛交xxxxxx富婆| 国产精品二区三区四区| 精品一二三四区| 亚洲欧洲三级电影| 717成人午夜免费福利电影| 欧美成人tv| 免费欧美高清视频| 中文字幕一区二区三区四区不卡| 欧美人体做爰大胆视频| 亚洲经典一区| 成人免费视频一区| 三级成人在线视频| 欧美国产激情一区二区三区蜜月| 欧美午夜免费电影| 亚洲高清视频一区二区| 国产一区二区三区高清播放| 亚洲精品国久久99热| 精品免费视频一区二区| 国产精品久久久久久模特| 成人综合婷婷国产精品久久免费| 一区二区三区精品| 久久久久久久久97黄色工厂| 色婷婷综合久久久久中文| 欧美在线不卡| 亚洲国产精品尤物yw在线观看| 日韩视频免费观看高清完整版在线观看 | 国产视频一区二区在线| 亚洲在线免费| 国产白丝网站精品污在线入口| xfplay精品久久| 国产精品美女久久久浪潮软件| 精品一区二区在线观看| 中文字幕一区二区三区色视频| 欧美日韩另类国产亚洲欧美一级| 精品69视频一区二区三区Q| 国产最新精品免费| 日本一区二区免费在线| 欧美色图天堂网| 亚洲黄色影院| 高清成人免费视频| 日韩女优av电影在线观看| 亚洲一区二区三区欧美| 91网址在线看| 精品一区二区日韩| ...xxx性欧美| 日韩欧美国产精品一区| 久久久国产精品一区二区三区| 欧美在线1区| 日韩精品乱码av一区二区| 日韩美女视频一区| 欧美一级日韩不卡播放免费| 久久久久久9| 亚洲视频碰碰| 成人精品视频一区二区三区尤物| 亚洲国产va精品久久久不卡综合| 欧美tickling挠脚心丨vk| 一本色道久久综合精品竹菊| 国产在线日韩| www.久久精品| 精品一区免费av| 午夜欧美视频在线观看| 亚洲三级在线免费| 精品国产免费一区二区三区四区 | 久久综合久久综合久久| 在线亚洲高清视频| 激情视频一区| 成人美女在线观看| 国产成人久久精品77777最新版本| 天天综合天天做天天综合| 国产精品高潮久久久久无| 精品奇米国产一区二区三区| 欧美日韩精品一区二区三区| 国产伦精品一区二区三区照片91 | 新狼窝色av性久久久久久| 一区二区高清视频| 欧美精品一区二区视频| 国产精品123区| 免费观看91视频大全| 亚洲一区二区三区自拍| 欧洲亚洲国产日韩| 国产精品久久久久久久免费软件| 午夜性色一区二区三区免费视频| 成年人午夜久久久| 国产福利精品导航| 美女视频网站黄色亚洲| 五月激情综合婷婷| 亚洲乱码国产乱码精品精的特点| 欧美电影免费提供在线观看| 欧美日韩精品一区二区三区四区| 国产乱码精品一区二区三区不卡| 亚洲国产精品第一区二区| 欧美 日韩 国产 一区| 欧美日韩中文| 欧美激情91| 99久久婷婷国产综合精品| 国产精品一区二区视频| 精品一区二区免费| 午夜激情久久久| 精品无人区卡一卡二卡三乱码免费卡| 五月开心婷婷久久| 午夜精品视频在线观看|