裝飾器模式

2021-06-07 08:27:58 字數 916 閱讀 6042

《大話設計模式》

裝飾器模式:

為已有功能動態地新增更多功能,當系統需要新功能,向舊的類中新增新功能,裝飾了原有類的核心職責和行為,而不改變它們

就像包裝袋一樣,有**的包裝袋包裝之前裝好東西的包裝袋

#ifndef _clothes_h_

#define _clothes_h_

#include using namespace std;

class person

person() {}

virtual ~person() {}

virtual void show()

private:

string myname;

};class finery: public person

virtual ~finery() {}

void decorator(person *person)

void show()

private:

person *m_person;

};class tshirts: public finery

};class bigtrouser: public finery

};class sneakers: public finery

};class suit: public finery

};class tie: public finery

};class leathershoes: public finery

};#endif

#include #include #include "clothes.h"

using namespace std;

int main()

裝飾器模式

裝飾器設計模式 對真實物件動態的新增功能 抽象元件 author zhangjianbin public inte ce icar 俱體構件物件 真實的物件 author zhangjianbin class car implements icar 裝飾器物件 author zhangjianbin...

裝飾器模式

一 概念 裝飾模式能夠實現動態的為物件新增功能,是從乙個物件外部來給物件新增功能。通常給物件新增功能,要麼直接修改物件新增相應的功能,要麼派生對應的子類來擴充套件,抑或是使用物件組合的方式。顯然,直接修改對應的類這種方式並不可取。在物件導向的設計中,而我們也應該 盡量使用物件組合,而不是物件繼承來擴...

裝飾器模式

裝飾器模式 動態地為物件新增一些額外的功能。特點 1 裝飾者和被裝飾者擁有相同的超型別,可以是介面可以是抽象類。2 裝飾類中包含乙個被裝飾類元件的引用 3 可以為被裝飾物件新增額外的功能 4 在裝飾類中重寫被裝飾元件類中的方法,並對被裝飾元件類中對應的方法呼叫。結構圖 1 component是裝飾器...