設計模式之裝飾器模式

2021-08-27 09:19:57 字數 1475 閱讀 9769

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 ...