設計模式 裝飾著模式

2022-07-19 11:45:18 字數 1053 閱讀 6181

裝飾者模式的應用場景覆蓋,擴充套件,is-a,前置,寫法-**

裝飾者模式(decorator pattern)是指在不改變原有物件的基礎之上,將功能附加到物件上,提供了比繼承更有彈性的替代方案(擴充套件原有物件的功能) 

裝飾者在**程式中適用於以下場景:

1、用於擴充套件乙個類的功能或給乙個類新增附加職責。

2、動態的給乙個物件新增功能,這些功能可以再動態的撤銷。

**示例:繼承(縱向擴充套件)和裝飾(橫向擴充套件)

裝飾著和介面卡對比

裝飾者模式的優缺點

優點:1、裝飾者是繼承的有力補充,比繼承靈活,不改變原有物件的情況下動態地給乙個物件 擴充套件功能,即插即用。

2、通過使用不同裝飾類以及這些裝飾類的排列組合,可以實現不同效果。

3、裝飾者完全遵守開閉原則。

缺點:1、會出現更多的**,更多的類,增加程式複雜性。

2、動態裝飾時,多層裝飾時會更複雜。 

設計模式之裝飾著模式

今天學習了裝飾著模式,寫在這裡防止忘掉。裝飾著模式自己理解就是給類新增職責,新增新的功能。比如下面的 date 2017 7 1 author hsj description public class demo3 inte ce coder class codestudent implements ...

03 裝飾著設計模式

咖啡館訂單系統專案的乙個下單需求,一種咖啡可以和任意一種或多種調料搭配 牛奶,摩卡 相當於component 上面我們提到的主體 也是被裝飾者 public abstract class xingbake public void setdescription string description p...

C 設計模式 裝飾著模式(高屋建瓴)

原 include include using namespace std person 類 class person person std string name virtual void show 當你用乙個基類指標或引用指向乙個繼承類物件的時候,呼叫乙個虛函式時,實際呼叫的是繼承類的版本。pr...