在業務中,常常有那種狀態巨多的東西,比如乙個立項,可能有新建、已提交、已審批等多種狀態
乙個活動可能有新建、已提交、審核通過、執行中、結束等多種狀態
因此,這個設計模式,指的是面向乙個立項、乙個訂單這個"物件"的邏輯
public
inte***ce
state
public
class
newstate
implements
state
}public
class
implements
state
}public
class
implements
state
}public
class
finishstate
implements
state
}
然後將狀態的流轉和下一步操作都抽出來到上下文類中統一管理,流轉
public
class
context
public
void
execute
(int statetype)
else
if(statetype ==2)
else
if(statetype ==3)
}}
設計模式 十一 狀態模式
狀態模式 state 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況,把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判斷邏輯化。狀態抽象類,定義乙個介面以及封裝與context 的乙個特定...
設計模式(二十一) 狀態模式
狀態模式也是一種行為型模式,當我們的程式中需要一些狀態轉換,對於不同的狀態需要不同的行為時,我們就可以考慮使用狀態模式。下面用交通燈來當例子。我們需要紅黃綠三種顏色的狀態。inte ce state class redstate implements state class yellowstate ...
PHP設計模式系列(十一) 狀態模式
狀態模式 state pattern 允許乙個物件在其內部狀態改變時改變它的行為,物件看起來似乎修改了它的類。其別名為狀態物件 objects for states 狀態模式是一種物件行為型模式。狀態模式包含如下角色 狀態模式 state 抽象狀態類 abstract class state con...