public
abstract
class beverage
public
abstract
double cost();
}public
abstract
class condimentdecorator extends beverage
public
class darkroast extends beverage
public
double cost()
}public
class milk extends condimentdecorator
public string getdescription()
public
double cost()
}要計算加牛奶的咖啡的**
milk milk = new milk(new darkroast ());
milk.cost();
設計模式 裝飾者模式
沒什麼特別的,之前看懂了,這次自己再複述一下。畢竟把別人講懂了才是真的懂了。主要參考了head first 設計模式。例子講述的是在為星巴克咖啡的製作訂單的情況,比如客人點了飲料,那麼系統會自動算出 不知道是我沒有體會到,還是這個例子不太合適,算出 那麼簡單的事還需要用到類?不過不影響我們思考裝飾者...
設計模式 裝飾者模式
好幾天沒出部落格了,在學習android的一些新控制項的時候,用到了乙個模式,叫裝飾者模式,所以在此講講這個模式。模式,包含以下四個角色 1 抽象構件 component 角色 給出乙個抽象介面,以規範準備接收附加責任的物件。2 具體構件 concretecomponent 角色 定義乙個將要接收附...
設計模式 裝飾者模式
一 什麼是裝飾者模式 動態地給一些物件新增一些額外的功能。就增加功能來說裝飾者模式比生成子類更加靈活。裝飾者模式是一種物件結構型模式。二 裝飾者模式的優缺點 1 裝飾者模式與 類繼承都是實現功能的擴充套件,但是裝飾者模式比類繼承有更多的靈活性。2 裝飾者模式可以使用具體裝飾類的排列組合,這樣一來可以...