package decorate;
/*** 設計模式之裝飾器模式:動態給某個物件新增一些額外的職責。
* 該模式涉及4個角色
* 1、介面或者是抽象類(abstract)
* 2、需要被裝飾的物件(impl)---實現介面或者繼承抽象類
* 3、裝飾類(decorate)--也實現介面或者繼承抽象類
* 4、繼承裝飾類的子類(decorateimpl)
** @author
* @since pattern 1.0.0
* @created 2013-1-18
*/public class test
}
package decorate;
/*** 抽象類或者介面
** @author
* @since pattern 1.0.0
* @created 2013-1-18
*/public abstract class abstract
package decorate;
/*** 實現類,該類實現abstract
** @author
* @since pattern 1.0.0
* @created 2013-1-18
*/public class impl extends abstract
}
package decorate;
/*** 裝飾器
** @author
* @since pattern 1.0.0
* @created 2013-1-18
*/public class decorate extends abstract
@override
public void buy()
}
package decorate;
/*** 具體的裝飾器
** @author
* @since pattern 1.0.0
* @created 2013-1-18
*/public class decorateimpl extends decorate
public void buy()
public void gotoshop()
public void paymoney()
public void backhome()
}
測試結果:
goto shop...
buy meat...
pay money...
back home...
設計模式之裝飾器模式
定義 decorator裝飾器,顧名思義,就是動態地給乙個物件新增一些額外的職責,就好比為房子進行裝修一樣。因此,裝飾器模式具有如下的特徵 它必須具有乙個裝飾的物件。它必須擁有與被裝飾物件相同的介面。它可以給被裝飾物件新增額外的功能。用一句話總結就是 保持介面,增強效能。裝飾器通過包裝乙個裝飾物件來...
設計模式之裝飾器模式
什麼是裝飾器模式 decorator 裝飾器模式的優點 裝飾器模式的缺點 示例 package com.pattern.decorator 抽象類,裝飾器的父類 author yjzhou public abstract class decorator implements component ov...
設計模式之裝飾器模式
裝飾模式 decorator 顧名思義,裝飾模式就是給乙個物件增加一些新的功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項,關係圖如下 source類是被裝飾類,decorator類是乙個裝飾類,可以為source類動態的新增一些功能,如下 1.public ...