設計模式(二十一) 狀態模式

2021-07-30 03:23:00 字數 599 閱讀 8000

狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。

下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。

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...