大話設計模式讀書筆記之裝飾者模式

2021-08-11 03:10:44 字數 1439 閱讀 6106

1.定義:動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活。

2.uml類圖

3.簡單介紹:component是定義乙個物件介面,可以給這些物件動態地新增職責。concretecomponent是定義了乙個具體的物件,也可以給這個物件新增一些職責。decorator,裝飾抽象類,繼承了component,從外類來擴充套件component類的功能,但對於component來說,是無需知道decorator的存在的。至於concretedecorator就是具體的裝飾者,起到給component新增職責的功能。

4.簡單**實現

//裝飾者模式抽象類

package com.guo.decoratorpattern;

public

abstract

class component

//具體操作的被裝飾的類

package com.guo.decoratorpattern;

public

class

concretecomponent

extends

component

}

//裝飾者抽象類

package com.guo.decoratorpattern;

public

abstract

class

decorator

extends

component

@override

public

void

operation() }}

//裝飾者實現類

package com.guo.decoratorpattern;

public

class

decoratorcomponent

extends

decorator

@override

public

void

operation()

}

//客戶端呼叫示例

package com.guo.decoratorpattern;

public

class decoratorclient

}

5.總結

大話設計模式讀書筆記 裝飾模式

裝飾模式,是物件導向程式設計領域中,一種動態地往乙個類中新增新的行為的設計模式。就功能而言,修飾模式相比生成子類更為靈活,這樣可以給某個物件而不是整個類新增一些功能。通過使用裝飾模式,可以在執行時擴充乙個類的功能。原理是 增加乙個修飾類包裹原來的類,包裹的方式一般是通過在將原來的物件作為修飾類的建構...

讀書筆記 大話設計模式

大話設計模式 的確寫的很不錯。把晦澀解懂的設計模式,講的通俗易懂。邊讀邊用evernote做筆記,把印象深刻的整理了一下。先補習一下uml的圖示法 繼承,介面,組合,依賴,關聯 策略模式 strategy 定義一系列演算法,所有演算法完成的都是相同的工作,只是實現不同。減少演算法與使用類之間的藕合。...

大話設計模式讀書筆記(十) 建造者模式

將乙個複雜物件的構建與他的表示分離,使同樣的構建過程可以建立不同的表示。具體產品類 public class product public void show 建造者介面 public inte ce builder建造者介面實現 public class concretebuilder imple...