設計模式 裝飾者模式

2021-10-25 05:39:48 字數 1354 閱讀 8091

(1) 裝飾(decorator)模式的定義:指在不改變現有物件結構的情況下,動態地給該物件增加一些職責(即增加其額外功能)的模式,它屬於物件結構型模式。

(2) 裝飾(decorator)模式的主要優點有:

採用裝飾模式擴充套件物件的功能比採用繼承方式更加靈活。

可以設計出多個不同的具體裝飾類,創造出多個不同行為的組合。

(3) 其主要缺點是:

裝飾模式增加了許多子類,如果過度使用會使程式變得很複雜。

(4) 和繼承的區別

通常情況下,擴充套件乙個類的功能會使用繼承方式來實現。但繼承具有靜態特徵,耦合度高,並且隨著擴充套件功能的增多,子類會很膨脹。

買煎餅,可以加雞蛋、加香腸:

設計模式 裝飾者模式

public abstract class beverage public abstract double cost public abstract class condimentdecorator extends beverage public class darkroast extends be...

設計模式 裝飾者模式

沒什麼特別的,之前看懂了,這次自己再複述一下。畢竟把別人講懂了才是真的懂了。主要參考了head first 設計模式。例子講述的是在為星巴克咖啡的製作訂單的情況,比如客人點了飲料,那麼系統會自動算出 不知道是我沒有體會到,還是這個例子不太合適,算出 那麼簡單的事還需要用到類?不過不影響我們思考裝飾者...

設計模式 裝飾者模式

好幾天沒出部落格了,在學習android的一些新控制項的時候,用到了乙個模式,叫裝飾者模式,所以在此講講這個模式。模式,包含以下四個角色 1 抽象構件 component 角色 給出乙個抽象介面,以規範準備接收附加責任的物件。2 具體構件 concretecomponent 角色 定義乙個將要接收附...