狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。
下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。
inte***ce
state
class
redstate
implements
state
}class
yellowstate
implements
state
}class
greenstate
implements
state
}
然後需要交通燈,它作為狀態類的環境,內部應該有所有狀態類的例項,並能按照某種規則轉換狀態。
public
class trafficlight else
if (current == yellowstate) else
}}
然後客戶類不需要關心內部狀態的變化,就可以使用狀態類了。
public void run()
設計模式(二十一) 狀態模式
狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。inte ce state class redstate implements state class yellowstate ...
python設計模式(二十一) 狀態模式
狀態模式,當物件的內部狀態改變的時候,允許物件執行不同的流程,看起來就像改寫了乙個物件,核心的方法是把複雜狀態變化情況下的流程抽象出來,簡化複雜情況狀態的判斷。我們設計乙個應用場景 當狀態是cpu使用率,在不同狀態下的自動化運維指令碼執行不同的操作 示例code class base def exe...
(二十一)狀態模式詳解(DOTA版)
本次lz給各位介紹狀態模式,之前在寫設計模式的時候,引入了一些小故事,二十章職責連模式是故事版的最後一篇,之後還剩餘四個設計模式,lz會依照原生的方式去解釋這幾個設計模式,特別是原型模式和直譯器模式,會包含一些其它的內容。好了,接下來,我們先來看看狀態模式的定義吧。定義 源於design patte...