設計模式 裝飾者模式

2021-10-25 15:57:49 字數 756 閱讀 3178

裝飾者模式是為已有的實體動態地新增更多功能的一種設計模式。裝飾者模式將每乙個單獨的功能都封裝在單獨的派生類當中,並且讓這個類包裝所需要裝飾的物件;

裝飾者模式可以區分核心職責與裝飾功能,簡化原有的類;

1)裝飾類中儲存著乙個指標,指向要裝飾的物件;

2)裝飾類同時又繼承自要裝飾的物件;這樣在加糖的派生類看來,加了冰的茶依舊是茶;

class

teatea

(const tea& t)

:name

(t.name)

virtual

void

show()

private

: string name;};

class

decorate

:public tea

//實際上沒有用到派生類的基類部分

virtual

void

show()

protected

: tea *tea;

//指向要新增物件};

class

ice:

public decorate

virtual

void

show()

};class

sugar

:public decorate

virtual

void

show()

};intmain()

設計模式 裝飾者模式

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 角色 定義乙個將要接收附...