設計模式之 Decorator裝飾者

2021-08-26 16:50:16 字數 306 閱讀 2319

這個模式的最主要的作用是可以 擴充套件被裝飾者的 狀態和行為。很酷吧。

這樣,可以在不修改被裝飾者的類的情況下,來擴充套件行為和狀態。

這也是一種退化的組合模式。

這裡不要和adapter適配者弄混淆,雖然都是改變原有類的介面,但是 adapter一般會重新命名被適配者的介面名字,為了滿足新的需要。

但是decorator卻是不會改變名字的,只是將其行為改變,進行了再包裝,成了新的物件。

注意這裡改變行為是以原有行為的基礎上改變的,這又不同於策略模式,策略模式是重新實現一組演算法,是重新來過。

嗯,區分,要區分清楚呀。

設計模式之Decorator 家裝篇

設計模式之 decorator 家裝篇 最近家裡搞裝修,做了一套家具,需要刷一下漆,因此我就去市場找了油漆師傅和油漆徒弟兩個人。油漆師傅主要買油漆和調油漆,油漆徒弟主要來 刷油漆 團隊精神?哈哈,不禁讓讓我想起 cs,你先衝,我揀菜。1 在這裡,我們先把這個油漆工作定義成乙個介面類 public i...

Java設計模式之Decorator模式

感覺比之前理解深了一點,紅字為新理解的內容,小白看過來 首先,不抽象,舉個例子。我要去喝咖啡,咖啡店裡有兩種咖啡,一種摩卡的,一種藍山的,摩卡的50塊,藍山的100塊。買了咖啡後還能放配料,有牛奶和伴侶。牛奶10塊一包,伴侶高階一 點,15塊一包。現在店裡新上貨一種配料方糖,5塊錢一包,現在把上述的...

設計模式之裝飾模式(Decorator)

現在有這樣乙個場景,需要給乙個人穿不同風格的衣服,那在物件導向的思想下應該怎麼寫呢 class person public void show abstract class finery class tshirts extends finery class pants extends finery ...