裝飾者模式簡單理解
1.定義:
增強乙個類的功能,還可以讓裝飾者類之間互相裝飾
2.步驟:
1)裝飾者類中需要維護乙個被裝飾者類的引用
2)讓裝飾者類有乙個共同的父類,或者父介面
eq:例項:
---------------------------------------------
裝飾者類與繼承的區別:
繼承實現的增強類:
優點:**結構清晰,而且實現簡單
缺點:對於每乙個的需要增強的類都要建立具體的子類 來幫助其增強,這樣會導致繼承體系過於龐大。
裝飾模式實現的增強類:
優點:內部可以通過多型技術對多個需要增強的類進行 增強
缺點:需要內部通過多型技術維護需要增強的類的例項。 進而使得**稍微複雜。
裝飾者模式理解
餅作為 抽象構件 component 角色 做乙個最簡單的麵餅 4 塊錢,具體構件 concrete component 角色 要加配菜 裝飾 decorator 角色 然後 加雞蛋 1 塊 具體配菜 具體裝飾 concrete decorator 角色 然後 加火腿 1 塊 具體配菜 具體裝飾 c...
簡單的裝飾者模式
裝飾者模式主要用來擴充套件功能的,不會改變原來物件的功能,只做擴充套件 版本一 如下 public abstract class beefnoodlepublic class basebeefnoodle extends beefnoodle public int getprice public c...
裝飾者模式及其簡單例項
咖啡店裡咖啡中可以加不同的配料 摩卡 牛奶 糖 奶泡 不同的飲品加上不同的配料有不同的價錢,怎樣實現呢?可能你的第一印象會想到使用繼承,1.首先定義乙個咖啡基類 2.對於加糖的,加牛奶的,加摩卡的 加奶泡的,分別寫乙個子類繼承 3.對於加糖,又加奶的寫乙個類,對於對於加糖,又摩卡的寫乙個類,對於對於...