1、定義狀態介面,也可以是抽象類abstract,這裡我喜歡用介面inte***ce
// 購物介面
public inte***ce ishopping
2、例項化具體的狀態,這裡我有兩個乙個是正常購物,乙個**購物
// 平常購物類實現購物介面
public class impnormalshopping implements ishopping
}
// 活動**類實現購物介面
public class implactiveshopping implements ishopping
public void setstatue( ishopping statue)
}
// 商家控制類
public class conreateboss
public void sale()
public void setstatue(ishopping statue)
}
// 客戶端
Java設計模式 狀態模式
目錄 定義如下 個人理解 通用類圖 角色介紹 state 抽象狀態角色 concretestate 具體狀態角色 context 環境角色 通用源 場景類 狀態模式的優點 狀態模式的缺點 使用場景 狀態模式又是乙個比較難的設計模式 當乙個物件內在狀態改變時允許其改變行為,這個物件看起來像改變了其類。...
設計模式 狀態模式 Java
狀態模式 state 當乙個物件的內在狀態改變時允許改變其行為。這個物件看上去就像是改變了它的類一樣。狀態模式主要解決的是當控制乙個物件狀態轉換的條件表示式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判斷邏輯簡化。狀態模式的好處 將與特定狀態相關的行為區域性化,並...
Java設計模式 狀態模式
當乙個物件的內在狀態改變時允許改變其行為,對這個物件看起來像是改變了其類。狀態模式的uml圖如下 context 環境類,定義客戶感興趣的解耦,維護乙個states子類的例項,這個實力定義了物件當前的狀態。state 抽象狀態類或者狀態介面,定義乙個或一組介面,表示改狀態下的行為。concrete ...