Java設計模式學習 狀態模式

2021-09-05 23:39:18 字數 990 閱讀 9178

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

1),建立狀態的介面類

/**酒店狀態介面類

* @author 曉電腦

*/public inte***ce state

2),建立酒店空閒狀態的類繼承state

/**酒店空閒狀態

* @author 曉電腦

*/public class freestate implements state

}

3),建立酒店房間已預訂類,繼承state

/**預定狀態

* @author 曉電腦

*/public class reservestate implements state

}

4),建立酒店入住狀態.繼承strate

/**入住狀態

* @author 曉電腦

*/public class checkinstate implements state

}

5),建立homecontest來改變房間狀態

/**房間物件類

* @author 曉電腦

*/public class homecontest

}

6),建立客戶端進行測試

/**測試客戶端

* @author 曉電腦

*/public class client

}

執行如下

uml類圖如下

相同點不同點:

Java設計模式 狀態模式

目錄 定義如下 個人理解 通用類圖 角色介紹 state 抽象狀態角色 concretestate 具體狀態角色 context 環境角色 通用源 場景類 狀態模式的優點 狀態模式的缺點 使用場景 狀態模式又是乙個比較難的設計模式 當乙個物件內在狀態改變時允許其改變行為,這個物件看起來像改變了其類。...

設計模式 狀態模式 Java

狀態模式 state 當乙個物件的內在狀態改變時允許改變其行為。這個物件看上去就像是改變了它的類一樣。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判斷邏輯簡化。狀態模式的好處 將與特定狀態相關的行為區域性化,並...

Java設計模式 狀態模式

當乙個物件的內在狀態改變時允許改變其行為,對這個物件看起來像是改變了其類。狀態模式的uml圖如下 context 環境類,定義客戶感興趣的解耦,維護乙個states子類的例項,這個實力定義了物件當前的狀態。state 抽象狀態類或者狀態介面,定義乙個或一組介面,表示改狀態下的行為。concrete ...