Observer Pattern in Javascript

Observer Pattern 的重點是, publisher發佈消息之後,subscriber會自動對消息作出反應.

image Observer Pattern in Javascript

I. Publisher

1. Publisher構造函數

  1. 一個數組
  2. 方法:
    1. subscribe    : 添加func到array
    2. unsubscribe: 從array中remove function
    3. publish        : 當publisher publish 消息的時候, 所有subscriber的方法都會給觸發

2. makePublisher(o)

將publisher 的方法複製到object O中,為其添加publisher的方法

該方法中沒有observer

 

Example 1- Here

Example 2 – oreilly (Live)

  • game是window的訂閱者,當window中的onkeypress給觸發,其handlekeypress會立即給觸發
  • Player是game的訂閱者,當game.handlekeypress給觸發,Player的play會立即給觸發
  • game同是又是Player的訂閱者,當Player.play給觸發,game.handlePlay會立即給觸發
  • scoreboard是game的handleplay訂閱者,當game.handlePlay給觸發, scoreboard.update會立即給觸發

window.onkeypress –> game.handlekeypress –> Player:play –> game: handlePlay –> scoreboard.update

 

II. Publisher & Observer

1. Publisher

包含一個數組記錄所有subscribers和publish方法

2. Subscriber

包含subscribe 和 unsubscribe

Example from book 『Pro Javascript Design Patterns』

article clipper remember Observer Pattern in Javascript
 
  1. 目前没有评论。

  1. 目前没有引用通告。