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