裝飾者模式簡單理解

2022-05-09 22:35:10 字數 445 閱讀 8160

裝飾者模式簡單理解

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.對於加糖,又加奶的寫乙個類,對於對於加糖,又摩卡的寫乙個類,對於對於...