有限狀態機FSM
- 定義狀態接口或抽象類,爲每一個狀態定義類
- 進行狀態委託
- 入口行爲、出口行爲
- 對於HFSM,可用子類繼承父類,父類和子類各爲一層
有限狀態機和狀態模式的區別
在CSDN論壇的一個帖子講:有限狀態機與狀態模式的區別
看到閻宏的跟帖,說的很貼切,畢竟大神級人物
後來又看到另外一篇帖子:你們以爲閻宏的《java與模式》寫的怎麼樣
(1)「大可能是狀況下,狀態實例沒有其它數據字段,應當使用單例模式」,這是錯誤的,單例模式不是幹這個的。
- 複雜一點的狀態都有繼承機構,單例不適合繼承
- 應當使用不變模式(來自於java與模式一書)
(2)狀態機比狀態模式普遍
- 狀態模式是對象的行爲描述,接收狀態的轉換
- 狀態機着重於定義狀態轉換,一個狀態機的實現可能使用多個設計模式,狀態模式只是之一