狀態模式的關鍵是區分事物內部的狀態,事物內部狀態的改變往往會帶來事物的行為改變。
當電燈開著,此時按下開關,電燈會切換到關閉狀態;再按一次開關,電燈又將被打開。同一個開關在不同的狀態下,表現出來的行為是不一樣的。
一、有限狀態機
允許一個對象在其內部狀態改變時改變它的行為,對象看起來似乎修改了它的類。
解釋:
(1)將狀態封裝成獨立的類,并將請求委托給當前的狀態對象,當對象的內部狀態發生改變時,會帶來不同的行為變化。
(2)使用的對象,在不同的狀態下具有截然不同的行為(委托效果)
談到封裝,一般優先考慮封裝對象的行為,而不是對象的狀態。
但在狀態模式中剛好相反,狀態模式的關鍵是把事物的每種狀態都封裝成單獨的類。
二、示例
點燈程序 (弱光 主站蜘蛛池模板: 长武县| 分宜县| 唐山市| 辽宁省| 山阳县| 特克斯县| 汉阴县| 玉山县| 榕江县| 略阳县| 大兴区| 台北县| 长岛县| 陈巴尔虎旗| 长顺县| 株洲县| 阜宁县| 五家渠市| 饶平县| 闻喜县| 汝南县| 沈丘县| 上思县| 聊城市| 广水市| 色达县| 慈利县| 乐业县| 伊川县| 治县。| 土默特右旗| 扎赉特旗| 长宁区| 敦煌市| 夏河县| 宝清县| 忻城县| 武陟县| 邳州市| 香港| 武穴市|