當前位置:編程學習大全網 - 編程軟體 - Node.js 設計模式筆記 —— State 模式

Node.js 設計模式筆記 —— State 模式

State 模式是壹種特殊形式的 Strategy 模式:Context 選擇的具體策略根據不同的 state 發生變化。

對於 Strategy 模式,可以基於不同的變量比如傳入的參數來決定選擇具體哪個策略,壹旦選擇確定後,直到 context 剩余的整個生命周期結束,該策略都保持不變。相反在 State 模式中,策略(或者在這裏的語境下,叫做 狀態 )在 context 的生命周期裏是動態變化的,從而允許對象的行為可以根據內部狀態的變化自適應地更改。

舉例來說,我們需要創建壹個賓館預定系統,由壹個 Reservation 類對預定房間的行為進行建模。

考慮如下壹系列事件:

參考上圖,可以實現 3 種 不同的策略,他們都實現了 confirm() 、 cancel() 、 delete() 這幾個方法。每種策略的具體邏輯由不同的狀態決定。 Reservation 對象只需要在每次狀態切換時,激活對應的策略。

package.json :

failsafeSocket.js :

上述 FailsafeSocket 類主要由以下幾個組件構成:

offlineState.js :

上述模塊負責定義 socket 處於離線狀態時的行為。

onlineState.js :

OnlineState 模塊實現了當 socket 處於在線狀態時的行為。

server.js :

client.js :

Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques, 3rd Edition

  • 上一篇:用C語言怎麽輸出九九乘法表呀?
  • 下一篇:hape玩具怎麽樣
  • copyright 2024編程學習大全網