設計模式之裝飾器模式的學習思考

2021-08-03 06:32:08 字數 902 閱讀 8385

裝飾器模式(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...