国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

javascript之中介者模式

LucasTwilight / 3279人閱讀

摘要:中介者模式中介者模式對象和對象之間借助第三方中介者進行通信。將就用下這個這個函數充當中介者挑戰成功挑戰失敗選手選手選手選手挑戰成功選手挑戰成功選手挑戰失敗在這段代碼中之間沒有直接發生關系而是通過另外的對象建立鏈接姑且將之當成是中介者模式了。

中介者模式

中介者模式: 對象和對象之間借助第三方中介者進行通信。


場景 demo
一場測試結束后, 公布結果: 告知解答出題目的人挑戰成功, 否則挑戰失敗。

    const player = function(name) {
      this.name = name
      playerMiddle.add(name)
    }
    player.prototype.win = function() {
      playerMiddle.win(this.name)
    }
    player.prototype.lose = function(){
      playerMiddle.lose(this.name)
    }
    const playerMiddle =(function(){ //將就用下這個demo, 這個函數充當中介者
      const players =[]
      const winArr = []
      const loseArr = []
      return {
        add: function(name) {
          players.push(name)
        },
        win: function(name){
          winArr.push(name)
          if(winArr.length + loseArr.length === players.length){
            this.show()
          }
        },
        lose: function(name){
          loseArr.push(name)
          if(winArr.length + loseArr.length === players.length){
            this.show()
          }
        },
        show: function(){
          for(let winner of winArr){
            console.log(winner+"挑戰成功;")
          }
          for(let loser of loseArr){
            console.log(loser+"挑戰失敗;")
          }
        }
      }
    }())
    const a = new player("A選手")
    const b = new player("B選手")
    const c = new player("C選手")
    a.win()
    b.lose()
    c.win()
    // A 選手挑戰成功;
// B 選手挑戰成功;
// C 選手挑戰失敗;

在這段代碼中 A、B、C 之間沒有直接發生關系, 而是通過另外的 playerMiddle 對象建立鏈接, 姑且將之當成是中介者模式了。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106757.html

相關文章

  • JavaScript設計模式發布-訂閱模式(觀察者模式)-Part2

    摘要:設計模式與開發實踐讀書筆記。看此文章前,建議先看設計模式之發布訂閱模式觀察者模式在中,已經介紹了什么是發布訂閱模式,同時,也實現了發布訂閱模式。 《JavaScript設計模式與開發實踐》讀書筆記。 看此文章前,建議先看JavaScript設計模式之發布-訂閱模式(觀察者模式)-Part1 在Part1中,已經介紹了什么是發布-訂閱模式,同時,也實現了發布-訂閱模式。但是,就Part1...

    Charlie_Jade 評論0 收藏0
  • JavaScript設計模式發布-訂閱模式(觀察者模式)-Part2

    摘要:設計模式與開發實踐讀書筆記。看此文章前,建議先看設計模式之發布訂閱模式觀察者模式在中,已經介紹了什么是發布訂閱模式,同時,也實現了發布訂閱模式。 《JavaScript設計模式與開發實踐》讀書筆記。 看此文章前,建議先看JavaScript設計模式之發布-訂閱模式(觀察者模式)-Part1 在Part1中,已經介紹了什么是發布-訂閱模式,同時,也實現了發布-訂閱模式。但是,就Part1...

    chemzqm 評論0 收藏0
  • 設計模式觀察者(發布/訂閱)模式

    摘要:發布訂閱模式又叫觀察者模式,它定義對象間的一種一對多的依賴關系。事件觀察者模式應該是最常用的模式之一。總之,當消息一發布,所有的訂閱者都會收到消息。發布訂閱模式還可以用來幫助實現一些別的設計模式,比如中介者模式。 發布/訂閱模式又叫觀察者模式,它定義對象間的一種一對多的依賴關系。當一個對象的狀態(發布者)發生改變時,所有依賴于它的對象都將得到通知。在 JavaScript 開發中,我們...

    dreamGong 評論0 收藏0
  • 前端開發中常用的javascript設計模式

    摘要:代理模式,迭代器模式,單例模式,裝飾者模式最少知識原則一個軟件實體應當盡可能少地與其他實體發生相互作用。迭代器模式可以將迭代的過程從業務邏輯中分離出來,在使用迭代器模式之后,即不用關心對象內部構造也可以按順序訪問其中的每個元素。 接手項目越來越復雜的時候,有時寫完一段代碼,總感覺代碼還有優化的空間,卻不知道從何處去下手。設計模式主要目的是提升代碼可擴展性以及可閱讀性。 本文主要以例子的...

    趙春朋 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<