設計模式 結構型模式 裝飾模式

2021-10-16 22:06:42 字數 1046 閱讀 3065

在不改變現有物件結構的情況下, 動態地給該物件增加一些職責(即增加其額外功能)的模式,它屬於物件結構性模式。優點

缺點主要缺點是:會增加很多子類,過度使用會增加程式的複雜性。

結構主要角色: 類圖

實現

inte***ce

component

class

concretecomponent

implements

component

public

void

operation()

}

class

decorator

implements

component

public

void

operation()

}

class

concretedecorator

extends

decorator

public

void

operation()

public

void

addedfunction()

}

public

class

decoratorpattern

}

如果只有乙個具體構建而沒有抽象構件是,可以讓抽象裝飾繼承具體構件,類圖如下所示:

如果只有乙個具體裝飾時,可以將抽象裝飾和具體裝飾合併,類圖如下所示:

設計模式 結構型模式 裝飾模式

設計模式 結構型模式 裝飾模式 以成績單需要家長簽字為要求。成績單類圖 抽象成績單 public abstract class schoolreport 下面書寫四年級成績單 public class fouthgradeschoolreport extends schoolreport 家長簽名 ...

裝飾模式(結構型模式)

裝飾模式是一種動態的給類中新增新行為的設計模式,裝飾模式比生成子類更為靈活,可以給某個物件而不是整個類新增一些功能。值得注意的是裝飾模式的裝飾類也繼承介面類,同時他也有介面類的指標指向他需要裝飾的具體類。外表看著像is a的關係,實際也是has a的關係。實際應用中裝飾類可以同時裝飾幾個具體類。可以...

結構型模式 裝飾模式

裝飾模式是對類的組合進行的擴充。比如現在有個門,現在有一些額外功能,比如 新增鎖 貼春聯 門眼 門框全包 等功能,這些功能可以單獨存在,也可以兩兩組合等隨意組合。怎麼實現這樣的 門 呢.繼承 比如有 貼春聯 門眼 就新增乙個新類,這樣如果需要其他的功能就需要無窮多的子類。組合 加強版組合 裝飾模式 ...