裝飾器模式(decorator pattern)屬於設計模式裡的結構型模式一種。
白話地說,我們可以給乙個類加一些它沒有的功能
比如:給乙個圓加上顏色;給手機增加上網的功能等等
它的實現思想:
小例子:
**:
inte***ce
shape
class
rectangle
implements
shape
}class
circle
implements
shape
}abstract
class
shapedecorator
implements
shape
public
void draw()
}class
redshapedecorator
extends
shapedecorator
public
void draw()
private
void setredborder(shape decoratedshape)
}public
class
decoratorpatterndemo
}
輸出:
circle with normal border
shape:circle
circle of red border
shape:circle
border color: red
rectangle of red border
shape:rectangle
border color: red
總結: 設計模式學習之裝飾器模式
裝飾器模式,動態地給乙個物件新增一些額外地職責,就增加功能方面來說,裝飾器模式比生成子類更為靈活。裝飾器模式是為已有功能動態地新增更多功能地一種方式。但是我們什麼時候可以使用裝飾器模式呢?當系統需要新功能的時候,是向舊的類中新增新的 這些新加的 通常裝飾了原有類的核心職責或主要行為。這種做法的問題在...
設計模式之裝飾器模式
定義 decorator裝飾器,顧名思義,就是動態地給乙個物件新增一些額外的職責,就好比為房子進行裝修一樣。因此,裝飾器模式具有如下的特徵 它必須具有乙個裝飾的物件。它必須擁有與被裝飾物件相同的介面。它可以給被裝飾物件新增額外的功能。用一句話總結就是 保持介面,增強效能。裝飾器通過包裝乙個裝飾物件來...
設計模式之裝飾器模式
什麼是裝飾器模式 decorator 裝飾器模式的優點 裝飾器模式的缺點 示例 package com.pattern.decorator 抽象類,裝飾器的父類 author yjzhou public abstract class decorator implements component ov...