設計模式之裝飾器模式

2021-07-13 23:55:20 字數 1066 閱讀 8835

什麼是裝飾器模式(decorator)

裝飾器模式的優點

裝飾器模式的缺點

示例**

package com.pattern.decorator;

/** * 抽象類,裝飾器的父類

*@author yjzhou

*/public

abstract

class

decorator

implements

component

@override

public integer sum(int num)

}

package com.pattern.decorator;

/** * 元件介面,所有的元件都要實現這個介面

*@author yjzhou

*/public

inte***ce

component

package com.pattern.decorator;

/** * 具體的元件,也是將要被裝飾的類

*@author yjzhou

*/public

class

concretecomponent

implements

component

}

package com.pattern.decorator;

/** * 裝飾模式

* 具體的裝飾類

*@author yjzhou

*/public

class

concretedecorator

extends

decorator

private

intfilternum(final

int num)

/*** 除了原先的sum()方法外,增加filternum()方法的額外功能

*/@override

public integer sum(int num)

}

設計模式之裝飾器模式

定義 decorator裝飾器,顧名思義,就是動態地給乙個物件新增一些額外的職責,就好比為房子進行裝修一樣。因此,裝飾器模式具有如下的特徵 它必須具有乙個裝飾的物件。它必須擁有與被裝飾物件相同的介面。它可以給被裝飾物件新增額外的功能。用一句話總結就是 保持介面,增強效能。裝飾器通過包裝乙個裝飾物件來...

設計模式之裝飾器模式

裝飾模式 decorator 顧名思義,裝飾模式就是給乙個物件增加一些新的功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項,關係圖如下 source類是被裝飾類,decorator類是乙個裝飾類,可以為source類動態的新增一些功能,如下 1.public ...

設計模式之裝飾器模式

package decorate 設計模式之裝飾器模式 動態給某個物件新增一些額外的職責。該模式涉及4個角色 1 介面或者是抽象類 abstract 2 需要被裝飾的物件 impl 實現介面或者繼承抽象類 3 裝飾類 decorate 也實現介面或者繼承抽象類 4 繼承裝飾類的子類 decorate...