模板方法模式 template pattern
定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。
回到小明的披薩店。見建造者模式
經營一段時間後,小明開始思考如何降低人力成本,他意識到,如果能夠通過規則保證每個步驟的正確執行,就不需要額外的監督員;而且製作披薩的加芝士和烘焙步驟,兩種披薩是一樣的,是否可以考慮合併。
小明用程式設計師的大腦思考了一會,想到了模板方法模式。
uml圖:
}客戶端:
public class client
}
重溫設計模式之狀態模式
狀態模式 state pattern 允許物件在內部狀態發生改變時改變它的行為,物件看起來好像修改了它的類。在生產流水線上,每個崗位的工人完成自己的步驟後,產品狀態發生變化,工人會交給下一環節處理。如果用 來描述一條披薩生產流水線,可以用狀態模式。pizza類為context角色,它封裝了客戶端感興...
模板設計模式 PHP設計模式之模板方法模式
模板方法模式,也是我們經常會在不經意間有會用到的模式之一。這個模式是對繼承的最好詮釋。當子類中有重複的動作時,將他們提取出來,放在父類中進行統一的處理,這就是模板方法模式的最簡單通俗的解釋。就像我們平時做專案,每次的專案流程實都差不多,都有調研 開發 測試 部署上線等流程。而具體到每個專案中,這些流...
設計模式之模板方法設計模式
父類抽象出子類共有的方法,子類實現各自不同的業務。總之就是一種行為有他們共同的方法,只是他們具體的實現不一樣。比如開車這種行為模式,啟動 換擋 踩油門。每種型號品牌的車都有共同的行為,但是不同型號品牌的車的實現方式可能不同,需要每個品牌型號的車自己實現這些功能。這樣的定義上面行為的模式,稱之為模板方...