狀態模式 state pattern
允許物件在內部狀態發生改變時改變它的行為,物件看起來好像修改了它的類。
在生產流水線上,每個崗位的工人完成自己的步驟後,產品狀態發生變化,工人會交給下一環節處理。
如果用**來描述一條披薩生產流水線,可以用狀態模式。pizza類為context角色,它封裝了客戶端感興趣的處理和檢視狀態介面,並將與狀態相關的操作委託給當前狀態物件(cook)來處理。
uml圖:
客戶端:
public class client
}
重溫設計模式之 簡單 工廠模式
定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。常用場景 多資料庫實現 多種媒介的日誌記錄 uml圖 客戶端 public class client 簡單工廠模式存在乙個問題,如示例中需要增加新的資料庫型別時,需要修改employeedaofactor...
重溫設計模式之模板方法模式
模板方法模式 template pattern 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。回到小明的披薩店。見建造者模式 經營一段時間後,小明開始思考如何降低人力成本,他意識到,如果能夠通過規則保證每個步驟的正...
設計模式之狀態模式
一 作用 允許乙個物件在其內部狀態改變時改變它的行為,物件看起來似乎修改了它的類。其別名為狀態物件 objects for states 狀態模式是一種物件行為型模式。二 例子 狀態抽象類 abstract class state 具體狀態類,每個狀態對應乙個類 class concretestat...