裝飾者模式 Decorator 04

2021-08-26 07:56:39 字數 665 閱讀 8735

裝飾者模式在api中使用最為典型的就是流的使用方式,層層包裝,你想要什麼流就組裝什麼流即可,如:inputstream,fileiinputstream,bufferedinputstream等,我將乙個簡單的**示例貼出來給大家看看,這是乙個很簡單的實現,

/*** 實際事物中的抽象最頂層的介面

* @author lvzh**/

public inte***ce component

/*** 原子性的個體 假如拿流來比喻則:位元組流

* @author lvzh**/

public class concreatecomponent implements component

}/**

* 裝飾者

* @author lvzh

*/public class decorator implements component

@override

public void action()

}/**

* 將基本的成分裝飾成decoratora這個物件

* @author lvzh**/

public class decoratora extends decorator

//重寫父類的action方法

public void action()

}

設計模式之裝飾者模式 Decorator 03

說明 1.drink 是表示飲品,是乙個抽象類 abstract class drink def getdescription string def getprice float def setprice price float unit 將計算成本的方法做成乙個抽象方法cost def cost ...

裝飾者模式decorator

設計原則 開放 關閉原則,對擴充套件開放,對修改封閉 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合設計而努力 類圖待補充 示例 飲料銷售系統 主體飲料 coffe 輔助調料 mocha,soy,whip。輔助調料價位都不一樣,當輔助調料和主飲料不同搭配時,最終飲料...

裝飾者(Decorator)模式

裝飾者模式是允許向乙個新物件新增新的功能,但又不改變其結構。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。就增加功能來說,裝飾器模式相比生成子類更為靈活。例子 如果我們去咖啡店,有一種咖啡,該咖啡可以加糖,牛奶,奶泡等等,如果我們需要加糖和牛奶,常規...