c 設計模式之裝飾者模式

2021-07-25 04:35:46 字數 794 閱讀 9390

裝飾者模式動態地將責任附加到物件上, 如果要擴充套件功能, 裝飾者模式提供了比繼承更有彈性的替代方案.

裝飾者模式有一群裝飾者類, 這些類包裝具體的類元件

class component // 公共抽象類

;class concretecomponent : public component // 具體的類

};class decorator : public component // 裝飾類

};class concretedecoratora : public decorator // 具體的裝飾類a

virtual void method()

private:

component *component;

};class concretedecoratorb : public decorator // 具體的裝飾類b

virtual void method()

private:

component *component;

};#endif

測試

#include #include "decorator.h"

int main(int argc, char **argv)

c 設計模式之裝飾者模式

include 公共介面 class component 需要被裝飾的物件 class concretecomponent public component void operation 裝飾a類 class concretedecoratora public decorator 裝飾b類 clas...

c 設計模式之裝飾者模式

include 公共介面 class component 需要被裝飾的物件 class concretecomponent public component void operation 裝飾a類 class concretedecoratora public decorator 裝飾b類 clas...

設計模式之 裝飾者模式

一 裝飾者模式 裝飾者模式又稱為包裝模式。動態地給乙個物件增加新的職責。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。裝飾者模式顧名思義就是對乙個物件進行裝飾,具體怎樣裝飾呢?那就是給這個物件不斷的增加職責方法。給乙個物件增加方法不簡單啊,用繼承或者直接在物件的類中增加方法。如果我們要對自...