20 狀態模式

2021-07-05 02:06:47 字數 1079 閱讀 2189

場景:

酒店系統中,房間的狀態變化

核心:用於解決系統中複雜物件的狀態轉換以及不同狀態下行為的封裝問題

結構:-context環境類

環境類中維護乙個state物件,他是定義了當前的狀態

-state抽象狀態類

-concretestate具體狀態類

每乙個類封裝了乙個狀態對應的行為

開發中的場景:

-銀行系統中賬號狀態的管理

-oa系統中中文狀態的管理

-酒店系統中,房間狀態的管理

-執行緒物件各狀態之間的切換

public inte***ce state

/**

* 空閒狀態

* @author administrator

* */

public class freestate implements state

}

/**

* 預訂狀態

* @author administrator

* */

public class bootstate implements state

}

/**

* 房間已入住,請勿打擾

* @author administrator

* */

public class checkstate implements state

}

/**

* 維持不同狀態之間的切換

* @author administrator

* */

public class homecontext

}

public class client 

}

(20)狀態模式

定義 當 個物件內在狀態改變時允許其改變行為,這個物件看起來像改變了其類。型別 行為型模式 類圖 狀態模式結構 state 抽象狀態角色,介面或抽象類,負責物件狀態定義,並且封裝環境角色以實現狀態切換。concretestate 具體狀態角色,每乙個具體狀態必須完成兩個職責 本狀態的行為管理以及趨向...

20 狀態模式

介面或抽象類,負責物件狀態定義,並且封裝環境角色以實現狀態切換。每乙個具體狀態必須完成兩個職責 本狀態的行為管理以及趨向狀態處理,通俗地說,就是本狀態下要做的事情,以及本狀態如何過渡到其他狀態。定義客戶端需要的介面,並且負責具體狀態的切換。抽象環境角色 public abstract class s...

20 狀態模式

1 狀態模式 state pattern 它主要用來解決物件在多種狀態轉換時,需要對外輸出不同的行為的問題。狀態和行為是一一對應的,狀態之間可以相互轉換 2 當乙個物件的內在狀態改變時,允許改變其行為,這個物件看起來像是改變了其類 1 context 類為環境角色,用於維護state例項,這個例項定...