設計模式 裝飾者模式

2021-08-20 07:59:48 字數 921 閱讀 6979

裝飾者模式就是在不改變原有的類的基礎上進行對類的功能的擴充套件,通過對原始類的包裝來達到自己預計的擴充套件功能。

裝飾者模式的缺點:裝飾者模式對乙個類的進行擴充套件比繼承更加靈活,從而會對增加複雜性。

裝飾者模式的過度擴充套件會產生好多的小類,如果過度使用,程式會越來越複雜。

裝飾者模式是對抽象類的程式設計,要根據實際的情況來實際情況來進行模式的調整。

裝飾者模式的優點: 裝飾者模式的裝飾比繼承更加的靈活,裝飾者模式是對類的功能的擴充套件。

通過不同的裝飾者可以對物件進行重複的裝飾。通過物件進行不同行為的擴充套件。

抽象介面

public inte***ce decorate
被裝飾者

public class rice implements decorate

@override

public string getfoodname()

}

裝飾者

public class egericedeceorate implements decorate

@override

public double getconst()

@override

public string getfoodname()

}public class hamericedeceorate implements decorate

@override

public double getconst()

@override

public string getfoodname()

}

測試類

public class deceoratetest 

}

設計模式 裝飾者模式

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