裝飾模式以對客戶端透明的方式擴充套件物件的功能,是繼承關係的乙個替代方案。
裝飾模式應該在以下情況下使用:
需要擴充套件乙個類的功能,或給乙個類增加附加責任。
需要動態地給乙個物件增加功能,這些功能可以再動態地撤銷。
需要增加由一些基本功能的排列組合而產生的非常大量的功能,從而使繼承關係變的不現實。
如圖:應用**如下:
component c = new concretecomponent();
component d = new concretedecorator(c);
d.operation();
java與模式 裝飾模式
第四個設計模式 裝飾模式 裝飾模式是對物件功能增強時,平時使用繼承的一種替代方案 一 uml示意圖 二 組成部分 1.抽象構件 原始的功能介面 2.具體構件 具體的原始功能類 3.裝飾角色 持有具體構件類的物件,以便執行原有功能 4.具體裝飾 具體擴充套件的功能在這裡 三 例子 使用裝飾模式來演示乙...
《java與模式》 13 裝飾模式
裝飾模式也叫包裝模式 裝飾模式以對客戶透明的方式動態的給乙個物件附加上更多責任,客戶端不會覺得物件在裝飾前和裝飾後有什麼不同,裝飾模式可以在不使用建立跟多子類的情況下,將物件功能加以擴充套件 裝飾模式常常被稱作包裹模式,每乙個具體裝飾類都將下乙個具體裝飾類或具體構件類包起來,每一層包裹都提供了一些新...
Java 裝飾模式
動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更加靈活。盜圖 component是定義了乙個物件介面,可以誒這些uixiang動態新增職責。concretecomponent是定義了乙個具體物件,也可以給這個物件新增一些職責,decorator,裝飾抽象類,繼承了compon...