裝飾者模式:動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。

以下是目前的訂單系統的類圖: 1. 購買咖啡,要求在其中加入各種調料,例如都將、摩卡以及奶泡等等。 我們將所有的種類的咖啡的類圖加入之前的結構中去: 很明顯,上面造成維護噩夢,如果牛奶價錢上揚或者新增一種焦糖調料風味時,怎麼辦?需要修改很多代碼! 2. 我們嘗試修改基類試試 父類cost用於計算調料的價錢,子類cost用飲料的價錢+父類的cost,接下來加入子類 問題:1. 調料價錢或者增加調料類
相關文章
相關標籤/搜索