23種設計模式之狀态模式(State)
狀态模式是一種對象的行為型模式,允許一個對象在其内部狀态改變時改變它的行為,對象看起來似乎修改了它的類。狀态模式封裝了狀态的轉換過程,但是它需要枚舉可能的狀态,是以,需要事先确定狀态種類,這也導緻在狀态模式中增加新的狀态類時将違反開閉原則,新的狀态類的引入将需要修改與之能夠進行轉換的其他狀态類的代碼。狀态模式的使用必然會增加系統類和對象的個數。
優點:定位指定狀态的行為,并且針對不同狀态來劃分行為,使狀态轉換顯式進行。
使用場景:
1)對象的行為依賴于其狀态,并且該對象必須在運作時根據其狀态修改其行為。
2)操作具有大量以及多部分組成的取決于對象狀态的條件語句。
State 模式