<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript觀察者模式(經典)_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:47:03
        文檔

        JavaScript觀察者模式(經典)_javascript技巧

        JavaScript觀察者模式(經典)_javascript技巧:Observer模式也叫觀察者模式,是由GoF提出的23種軟件設計模式的一種。Observer模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態。 Observer模式的概念 Observer模式是行為模式之一,它的作用是當
        推薦度:
        導讀JavaScript觀察者模式(經典)_javascript技巧:Observer模式也叫觀察者模式,是由GoF提出的23種軟件設計模式的一種。Observer模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態。 Observer模式的概念 Observer模式是行為模式之一,它的作用是當

        Observer模式也叫觀察者模式,是由GoF提出的23種軟件設計模式的一種。Observer模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態。

        Observer模式的概念

        Observer模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態。
        Observer模式提供給關聯對象一種同步通信的手段,使某個對象與依賴它的其他對象之間保持狀態同步。

        Observer模式的角色:

        Subject(被觀察者)
        被觀察的對象。當需要被觀察的狀態發生變化時,需要通知隊列中所有觀察者對象。Subject需要維持(添加,刪除,通知)一個觀察者對象的隊列列表。
        ConcreteSubject
        被觀察者的具體實現。包含一些基本的屬性狀態及其他操作。
        Observer(觀察者)
        接口或抽象類。當Subject的狀態發生變化時,Observer對象將通過一個callback函數得到通知。
        ConcreteObserver
        觀察者的具體實現。得到通知后將完成一些具體的業務邏輯處理。

        觀察者模式( 又叫發布者-訂閱者模式 )應該是最常用的模式之一. 在很多語言里都得到大量應用. 包括我們平時接觸的dom事件. 也是js和dom之間實現的一種觀察者模式.

        只要訂閱了div的click事件. 當點擊div的時候, function click就會被觸發.

        那么到底什么是觀察者模式呢. 先看看生活中的觀察者模式。

        好萊塢有句名言. “不要給我打電話, 我會給你打電話”. 這句話就解釋了一個觀察者模式的來龍去脈。 其中“我”是發布者, “你”是訂閱者。

        再舉個例子,我來公司面試的時候,完事之后每個面試官都會對我說:“請留下你的聯系方式, 有消息我們會通知你”。 在這里“我”是訂閱者, 面試官是發布者。所以我不用每天或者每小時都去詢問面試結果, 通訊的主動權掌握在了面試官手上。而我只需要提供一個聯系方式。

        觀察者模式可以很好的實現2個模塊之間的解耦。 假如我正在一個團隊里開發一個html5游戲. 當游戲開始的時候,需要加載一些圖片素材。加載好這些圖片之后開始才執行游戲邏輯. 假設這是一個需要多人合作的項目. 我完成了Gamer和Map模塊, 而我的同事A寫了一個圖片加載器loadImage.

        loadImage的代碼如下

        當圖片加載好之后, 再渲染地圖, 執行游戲邏輯. 嗯, 這個程序運行良好. 突然有一天, 我想起應該給游戲加上聲音功能. 我應該讓圖片加載器添上一行代碼.

        可是寫這個模塊的同事A去了外地旅游. 于是我打電話給他, 喂. 你的loadImage函數在哪, 我能不能改一下, 改了之后有沒有副作用. 如你所想, 各種不淡定的事發生了. 如果當初我們能這樣寫呢:

        loadImage完成之后, 它根本不關心將來會發生什么, 因為它的工作已經完成了. 接下來它只要發布一個信號.

        那么監聽了loadImage的'ready'事件的對象都會收到通知. 就像上個面試的例子. 面試官根本不關心面試者們收到面試結果后會去哪吃飯. 他只負責把面試者的簡歷搜集到一起. 當面試結果出來時照著簡歷上的電話挨個通知.

        說了這么多概念, 來一個具體的實現. 實現過程其實很簡單. 面試者把簡歷扔到一個盒子里, 然后面試官在合適的時機拿著盒子里的簡歷挨個打電話通知結果.

        最后用觀察者模式來做一個成人電視臺的小應用.

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript觀察者模式(經典)_javascript技巧

        JavaScript觀察者模式(經典)_javascript技巧:Observer模式也叫觀察者模式,是由GoF提出的23種軟件設計模式的一種。Observer模式是行為模式之一,它的作用是當一個對象的狀態發生變化時,能夠自動通知其他關聯對象,自動刷新對象狀態。 Observer模式的概念 Observer模式是行為模式之一,它的作用是當
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲av永久无码精品天堂久久| 亚洲精品无码成人片久久| 亚洲另类春色国产精品| 亚洲一级毛片免费在线观看| 久久久久无码精品亚洲日韩| 毛片在线全部免费观看| 久久精品国产亚洲av麻豆小说 | 中文字幕在亚洲第一在线| 四虎国产精品永免费| 91麻豆国产自产在线观看亚洲| 九九全国免费视频| 成人亚洲性情网站WWW在线观看 | 精品女同一区二区三区免费站| 亚洲日本香蕉视频| 午夜无遮挡羞羞漫画免费| 亚洲乱码日产精品一二三| 免费h黄肉动漫在线观看| 特黄特色大片免费| 久久精品亚洲日本佐佐木明希| 亚洲精品免费观看| 亚洲粉嫩美白在线| 亚洲区不卡顿区在线观看| 国产一区二区免费| 亚洲综合色区中文字幕| 亚洲中文精品久久久久久不卡| 女人18毛片免费观看| 精品无码国产污污污免费网站国产 | 免费中文字幕视频| 亚洲av无码av制服另类专区| 999在线视频精品免费播放观看| 亚洲AV日韩AV永久无码色欲| 亚洲线精品一区二区三区| 国产在线观看免费观看不卡| 老司机午夜精品视频在线观看免费 | 东北美女野外bbwbbw免费| 亚洲手机中文字幕| 亚洲免费视频一区二区三区| 69视频在线观看高清免费| 黄网站在线播放视频免费观看| 亚洲第一福利网站| 亚洲av无码国产精品色在线看不卡 |