觀察者模式(也稱為發布-訂閱模式)是一種行為設計模式,它定義了物件之間的一對多依賴關係,以便當物件的狀態發生變化時,其依賴物件會收到通知並自動更新。
在 j**ascript 中實現觀察者模式可以分解為以下步驟:
建立主題物件以儲存觀察者物件,並提供用於新增、刪除和通知觀察者的 API。 建立乙個觀察者物件,該物件具有乙個更新方法,用於接收來自主題物件的通知並相應地對其進行處理。 下面是乙個簡單的示例:
類主題 新增觀察者 addobserver(observer) 刪除觀察者 removeobserver(observer) 通知觀察者 notifyobservers() 類觀察者 update() 收到通知`)const subject = new subject();const observer1 = new observer('observer 1');const observer2 = new observer('observer 2');subject.addobserver(observer1);subject.addobserver(observer2);subject.notifyobservers();// output:// observer 1 received the notification.// observer 2 received the notification.在此示例中,主體是主體客體,觀察者是觀察者客體。 subject 提供了乙個用於新增、刪除和通知觀察者的介面,而 observer 有乙個 update 方法來接收來自主題物件的通知並相應地處理它們。 使用它時,我們可以通過呼叫主語的 addobserver 方法將觀察者物件新增到主語物件中。 當主題物件的狀態發生變化時,我們可以呼叫 notifyobservers 方法來通知所有觀察物件進行更新。
以上只是乙個簡單的例子,在實際應用中還有更多細節需要考慮。