設計模式 裝飾者模式

2021-07-10 15:07:32 字數 1141 閱讀 1008

一、什麼是裝飾者模式:

動態地給一些物件新增一些額外的功能。就增加功能來說裝飾者模式比生成子類更加靈活。裝飾者模式是一種物件結構型模式。

二、裝飾者模式的優缺點:

(1)裝飾者模式與 類繼承都是實現功能的擴充套件,但是裝飾者模式比類繼承有更多的靈活性。

(2)裝飾者模式可以使用具體裝飾類的排列組合,這樣一來可以很輕易得到不同物件的行為。

(3)由於裝飾者模式比類繼承更加靈活,這樣就意味著裝飾者模式比類繼承更加容易出錯。

三、裝飾者模式的應用舉例:

(1)當我們需要為某個物件動態地增加屬性和方法時,可以考慮使用裝飾者模式。

(2)當物件的屬性和方法經常變化的時候,我們可以考慮使用裝飾者模式。

四、實現**

package com.lovo;

public inte***ce breadm

package com.lovo;

/** 麵包裝飾類

*/public class breaddecorator implements breadm

@override

public string writebread(string bread) }

package com.lovo;

/** 夾心麵包

*/public class jiaxinbread extends breaddecorator

@override

public string writebread(string bread) }

package com.lovo;

/** 肉鬆麵包

*/public class roubread extends breaddecorator

@override

public string writebread(string bread) }

package com.lovo;

/** 普通麵包

*/public class ******bread implements breadm

@override

public string writebread(string bread) }

package com.lovo;

public class breadtest }

設計模式 裝飾者模式

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