中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

教育網(wǎng)站建設(shè)改版百度推廣在線客服

教育網(wǎng)站建設(shè)改版,百度推廣在線客服,沈陽(yáng)和平三好街做網(wǎng)站,軟件開(kāi)發(fā)培訓(xùn)技術(shù)學(xué)校文章目錄 前言介紹實(shí)現(xiàn)優(yōu)缺點(diǎn)應(yīng)用場(chǎng)景后言 前言 hello world歡迎來(lái)到前端的新世界 😜當(dāng)前文章系列專欄:前端設(shè)計(jì)模式 🐱?👓博主在前端領(lǐng)域還有很多知識(shí)和技術(shù)需要掌握,正在不斷努力填補(bǔ)技術(shù)短板。(如果出現(xiàn)錯(cuò)誤&#…

文章目錄

  • 前言
  • 介紹
  • 實(shí)現(xiàn)
  • 優(yōu)缺點(diǎn)
  • 應(yīng)用場(chǎng)景
  • 后言

前言

hello world歡迎來(lái)到前端的新世界


😜當(dāng)前文章系列專欄:前端設(shè)計(jì)模式
🐱?👓博主在前端領(lǐng)域還有很多知識(shí)和技術(shù)需要掌握,正在不斷努力填補(bǔ)技術(shù)短板。(如果出現(xiàn)錯(cuò)誤,感謝大家指出)🌹
💖感謝大家支持!您的觀看就是作者創(chuàng)作的動(dòng)力

介紹

觀察者模式又稱發(fā)布-訂閱模式(Publish/Subscribe Pattern),是我們經(jīng)常接觸到的設(shè)計(jì)模式,日常生活中的應(yīng)用也比比皆是,比如你訂閱了某個(gè)博主的頻道,當(dāng)有內(nèi)容更新時(shí)會(huì)收到推送;又比如JavaScript中的事件訂閱響應(yīng)機(jī)制。觀察者模式的思想用一句話描述就是:被觀察對(duì)象(subject)維護(hù)一組觀察者(observer),當(dāng)被觀察對(duì)象狀態(tài)改變時(shí),通過(guò)調(diào)用觀察者的某個(gè)方法將這些變化通知到觀察者。

實(shí)現(xiàn)

觀察者模式中Subject對(duì)象一般需要實(shí)現(xiàn)以下API:

  • subscribe(): 接收一個(gè)觀察者observer對(duì)象,使其訂閱自己
  • unsubscribe(): 接收一個(gè)觀察者observer對(duì)象,使其取消訂閱自己
  • fire(): 觸發(fā)事件,通知到所有觀察者
// 被觀察者
function Subject() {this.observers = [];
}Subject.prototype = {// 訂閱subscribe: function (observer) {this.observers.push(observer);},// 取消訂閱`在這里插入代碼片`unsubscribe: function (observerToRemove) {this.observers = this.observers.filter(observer => {return observer !== observerToRemove;})},// 事件觸發(fā)fire: function () {this.observers.forEach(observer => {observer.call();});}
}

驗(yàn)證是否訂閱成功

const subject = new Subject();function observer1() {console.log('Observer 1 Firing!');
}function observer2() {console.log('Observer 2 Firing!');
}subject.subscribe(observer1);
subject.subscribe(observer2);
subject.fire();//輸出:
Observer 1 Firing! 
Observer 2 Firing!

驗(yàn)證一下取消訂閱是否成功:

subject.unsubscribe(observer2);
subject.fire();//輸出:
Observer 1 Firing!

優(yōu)缺點(diǎn)

優(yōu)點(diǎn)

  • 支持簡(jiǎn)單的廣播通信,自動(dòng)通知所有已經(jīng)訂閱過(guò)的對(duì)象
  • 目標(biāo)對(duì)象與觀察者之間的抽象耦合關(guān)系能單獨(dú)擴(kuò)展以及重用
  • 增加了靈活性
  • 觀察者模式所做的工作就是在解耦,讓耦合的雙方都依賴于抽象,而不是依賴于具體。從而使得各自的變化都不會(huì)影響到另一邊的變化。

缺點(diǎn)

過(guò)度使用會(huì)導(dǎo)致對(duì)象與對(duì)象之間的聯(lián)系弱化,會(huì)導(dǎo)致程序難以跟蹤維護(hù)和理解

應(yīng)用場(chǎng)景

  • DOM事件
document.body.addEventListener('click', function() {console.log('hello world!');
});
document.body.click()

后言

創(chuàng)作不易,要是本文章對(duì)廣大讀者有那么一點(diǎn)點(diǎn)幫助 不妨三連支持一下,您的鼓勵(lì)就是博主創(chuàng)作的動(dòng)力

http://www.risenshineclean.com/news/36477.html

相關(guān)文章:

  • 可以做視頻推廣的網(wǎng)站有哪些內(nèi)容搜全網(wǎng)的瀏覽器
  • 微信營(yíng)銷 網(wǎng)站建設(shè)開(kāi)源cms建站系統(tǒng)
  • 建網(wǎng)站有域名和主機(jī)seo推廣思路
  • 網(wǎng)站開(kāi)發(fā) 避免 字段變化 代碼廣告公司推廣平臺(tái)
  • 濟(jì)南做網(wǎng)站哪里便宜網(wǎng)絡(luò)營(yíng)銷比較成功的企業(yè)
  • 鄄城做網(wǎng)站谷歌商店安卓版下載
  • 企業(yè)網(wǎng)站建設(shè)優(yōu)化做個(gè)小程序需要花多少錢(qián)
  • 網(wǎng)站建設(shè)在哪能看人工智能培訓(xùn)心得體會(huì)
  • 網(wǎng)站建設(shè)gzdlzggseo優(yōu)化技巧有哪些
  • 網(wǎng)站建設(shè)外包公司網(wǎng)站搜索工具
  • 小米路由做網(wǎng)站服務(wù)器代運(yùn)營(yíng)靠譜嗎
  • 簡(jiǎn)單的網(wǎng)站開(kāi)發(fā)購(gòu)物鏈接
  • wordpress webvr網(wǎng)絡(luò)優(yōu)化器
  • 建高鐵站賺錢(qián)嗎百度資源共享鏈接分享組
  • 烏市seo網(wǎng)絡(luò)營(yíng)銷流程網(wǎng)頁(yè)怎么優(yōu)化
  • 那個(gè)視頻網(wǎng)站做公開(kāi)課比較好如何查詢百度搜索關(guān)鍵詞排名
  • 如何做閑置物品自己的網(wǎng)站外鏈工廠
  • 風(fēng)險(xiǎn)網(wǎng)站怎么解決方案軟文廣告經(jīng)典案例800字
  • 網(wǎng)站建設(shè)規(guī)劃ppt模板網(wǎng)站網(wǎng)絡(luò)推廣企業(yè)
  • 無(wú)錫市網(wǎng)站建設(shè)百度公司全稱叫什么
  • 大慶市住房與城鄉(xiāng)建設(shè)局網(wǎng)站品牌宣傳文案范文
  • 小白學(xué)做網(wǎng)站買(mǎi)什么書(shū)哪里能搜索引擎優(yōu)化
  • 利用html做博客網(wǎng)站做百度推廣多少錢(qián)
  • 網(wǎng)站建設(shè)方案書(shū) 備案百度排名查詢
  • 網(wǎng)站建設(shè)要考慮哪些企業(yè)如何進(jìn)行網(wǎng)絡(luò)營(yíng)銷
  • 做圖網(wǎng)站有哪些東西嗎建網(wǎng)站用什么軟件
  • 用java做視頻網(wǎng)站app投放渠道有哪些
  • django做的網(wǎng)站舉例資源網(wǎng)站優(yōu)化排名軟件
  • 跨越速運(yùn)在黑龍江黑河網(wǎng)點(diǎn)網(wǎng)絡(luò)優(yōu)化工程師主要做什么
  • 望牛墩做網(wǎng)站每日軍事新聞