23種設計模式 8 Decorator模式

2021-07-11 21:26:06 字數 720 閱讀 9224

decorator模式:動態的給乙個物件額外新增一些額外職責。參與者:

component:定義物件介面,可以給這些物件動態的新增職責。

concretecomponent:定義乙個物件,可以給這個物件新增職責。

decorator:維持乙個指向component物件的指標,並定義乙個與component介面一致的介面。

concretedecorator(borderdecorator和scrolldecorator):向元件新增職責。

decorator將請求**給他的component物件,並有可能在**請求之後執行一些附加的動作。

注:把decorator定義乙個與component相同介面的目的是為了,不僅concretedecorator可以為component的實現類新增附加動作,還可以為decorator的實現類新增附加動作。

**實現:

#include #include using namespace std;

class component;};

class concreatecomponent :public component

}};class concreatedecoratora : public decorator

;

23種設計模式(8) 外觀模式

定義 為子系統中的一組介面提供乙個一致的介面,facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。角色 1,外觀 facade 角色 客戶端可以呼叫這個角色的方法。此角色知曉相關子系統的功能和責任。在正常情況下,本角色會將所有從客戶端發來的請求委派到相應的子系統去。2,子系統 s...

設計模式 23種設計模式

一 軟體設計模式的概念 軟體設計模式 software design pattern 又稱設計模式,是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。它描述了在軟體設計過程中的一些不斷重 生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的 設計經驗的總結...

23種設計模式

建立型 1.單件模式 singleton pattern 2.抽象工廠 abstract factory 3.建造者模式 builder 4.工廠方法模式 factory method 5.原型模式 prototype 結構型 6.介面卡模式 adapter pattern 7.橋接模式 bridg...