C++ 状态模式
簡述
狀態模式(State Pattern)是行為設計模式之一。當對象根據其內部狀態改變其行為時,將使用狀態設計模式。
| 版權聲明:一去、二三里,未經博主允許不得轉載。
模式結構
UML 結構圖:
- Context(上下文):定義一個與 Client 交互的接口。它維護對 ConcreteState 對象的引用,可以用該對象來定義當前狀態。
- State(抽象狀態):定義接口,來聲明每個 ConcreteState 應該做什么。
- ConcreteState(具體狀態):為 State 中定義的方法提供實現。
優缺點
優點:
- 實現多態行為的好處是顯而易見的,并且很容易添加狀態來支持額外的行為。
- 在狀態模式中,對象的行為是其狀態中函數的結果,并且在運行時根據狀態改變行為,這就消除了對 switch/case 或 i
總結
- 上一篇: java垃圾收集器
- 下一篇: FormData兼容性问题